Hmm, I wonder what'll happen if your window isn't the foreground one. Hint, it won't work. Just use the value returned from CreateWindow. You can't fail to receive it, so why eschew it in favour of something incorrect?
Printable View
It's done that way so that I can use a single dispatcher for all windows in an application...
Accelerator and Dialog messages should always be directed to the foreground window for tabbing and hotkey activities. If I use MainWind (or similar) in there the dialog actions (tab, space, etc.) only work for one window, not all of them.