Adding handler to your main window instance will only handle events raised by it's visual children. If any other windows are created, such as floating window, their events will not bubble up through your main window.
If you have UseHostedRaftingWindows set to false, then CreateRaftingWindow will return an instance of RaftingWindow (which is a Window). If you have UseHostedRaftingWindows set to true, then it will return an instance of RaftingWindowControl. If you are running in an XBAP application, then the UseHostedRaftingWindows is meaningless and forced to be true (as Windows are not supported in partial trust applications).
Either way, I'm not sure why your code is throwing an exception. It looks like you pass "Result" into CType, when that should be "RaftingWindow". But we'd need complete sample to be sure.
The auto-hide popups are a similar story. If UseHostedAutoHidePopups is false, then the auto-hidden ToolWindows are shown in a Popup instead of the adorner layer. There's no easy way to hook into the Popup though, but we made a change so the Popup is a logical child of the DockSite to allow it's events to bubble up through the DockSite to the main window. This will be included in the next maintenance release.