George:
What you are seeing is the result of a fairly obscure bit of behavior that results from calling InstallPopup on a child panel. In your case, the Login panel that is shown (via InstallPopup) when you press the Login toolbar button, is a child panel. However, when you install it as a popup, it is temporarily promoted to the status of a top level panel (while still living in the list of child panels for its parent (even though it is momentarily not a child panel)). As soon as you call RemovePopup, it is a normal child panel again. Normally, you wouldn't notice this behavior, which isn't really a bug, just a curiosity, however:
In your program you are using the Tooltip functionality from the Toolbox instrument. This activates a timer which (among other things) iterates over the child panels of the panel which hosts the tooltip control. This code relies on child panels acting like child panels. Once you call InstallPopup on a child panel (like the login panel), it will no longer act like a child panel (until you call RemovePopup). The result is an error in the tooltip code indicating that the popup panel isn't a child panel, which (because the error was created in response to a UI event, in this case a timer tick event) is reported through RunUserInterface.
The best workaround is the one you have already implemented (load the panels as top-level panels, instead of child panels).
Sorry for the inconvenience,
-alex