As noted in the GetMessagePos documentation, using LOWORD/HIWORD is wrong since it will not sign-extend negative coordinates for multiple monitor systems. (All of the documentation for mouse messages (WM_MOUSEMOVE, WM_LBUTTONDOWN, etc.) should stress this, just like the GetMessagePos documentation.)
Edit: Actually, I guess since most mouse messages are in client coordinates (whereas GetMessagePos uses screen coordinates), it's not a big deal.