In Visual Studio 2010, Dockable Windows seem to work like expected in every situation.
If a \"Floating\" document is active and some menu is selected (e.g Edit -> Paste)
I know this is an old post, but Prism could make your life so much easier. Using the RegionAdapter created here:
http://brianlagunas.com/2012/09/12/xamdockmanagera-prism-regionadapter/
You can easily track which window is active, floating or not, by using the IActiveAware interface. Prisms commands also take this into consideration and can excute commands only on the active view. The blog post has a sample app you can play around with.