https://bugs.winehq.org/show_bug.cgi?id=13683
--- Comment #44 from Christopher Thielen cthielen@gmail.com --- I'm not sure if this is the relevant difference but I found one difference between Wine and Windows XP regarding a WM_CAPTURECHANGED message where lParam == hWnd.
If you compile a basic Win32 app and call SetCapture() before the main message processing loop, Windows will send you a WM_CAPTURECHANGED message with your own hwnd as the lParam while Wine will send nothing.
I'll attach an example.