You simply have to implement it. I would start using the logic that's in MFC control bars to do the docking. Yes, and in general you MUST test with a true MP machine to find all bugs. You absolutely must test your multithreaded apps on a MP machine. My Oct '98 column will discuss multithreading bugs and I will have a deadlock detection application.
Editors are a matter of opinion.
Depends on the bug. I've never bothered with using the OS's debug kernel. I use it all the time for my device driver development. I work in the NT4 OS and am considering going to the new NT5 beta. It's not ready for full time development.