Any insight or even guesses would be appreciated at this point.
I'm running Domino and Notes 8.5.3, so that might be a problem, I suppose. But I've recreated the functionality in a new database and it works, still in my original database it does not. I have checked everything I can think of -- Application Properties, including but not limited to the theme being used, as I'm normally using an extension of oneuiv2; source of the various custom controls and XPages.
The actual application does not lend itself to attachment, as it is fairly complex and requires a back-end database to read data from, and is proprietary anyway. As I said above, I did create something with the same basic structure (described below) but in that simple application it works! I'll attach below, but remember that it works properly there. The structure of the navigation of my application (and the attached application) is as follows:
A "LeftNavigator" custom control, with xe:navigator; basically just a list of links to XPages that display data.
A "LeftNavigator-Create" custom control, again with xe:navigator. One xe:basicContainerNode that takes two compositeData properties; one string for Label and one string identifier used to identify what action to take onItemClick. The onItemClick JS is in the xp:action of an xp:eventHandler and uses context.getSubmittedValue() to determine a sessionScope variable to set and the appropriate context.redirectToPage.
An "AppLayout" Application Layout custom control; in "this.Facets", an xp:panel key="LeftColumn" containing xc:LeftNavigator as well as a callback with facetName "LeftColumn". There is also a "OneUIMainAreaCallback" and an xp:eventHandler for onItemClick that has this.action that performs a logout.
AppLayout is then included on any "view" type XPage (typically one of those in xc:LeftNavigator), with appropriate properties for the xc:LeftNavigator-Create.
All of this worked in 8.5.2 and Extlib 8.5.2.201104231636.
Thanks! ExtLib is cool, my current difficulty notwithstanding!