Reparenting a window with SetParent in Windows should cause the child
window being re-parented to be moved up to the topmost in the z-order,
and WM_WINDOWPOSCHANGING and WM_WINDOWPOSCHANGED messages to be sent.

diff --git a/windows/win.c b/windows/win.c
index e34bd6e..8dd6e3f 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -1908,6 +1908,12 @@
   WND *pWndOldParent =
     (wndPtr)?(*wndPtr->pDriver->pSetParent)(wndPtr, pWndNewParent):NULL;
 
+  /* SetParent32 additionally needs to make hwndChild the topmost window
+     in the x-order and send the expected WM_WINDOWPOSCHANGING and
+     WM_WINDOWPOSCHANGED notification messages. 
+  */
+  SetWindowPos32( hwndChild, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
+                              
   return pWndOldParent?pWndOldParent->hwndSelf:0;
 }