Just to confirm decklin's suspicions (and mine, too), a post continuing that previous thread:
I looked at xmonad tonight, and unfortunately it doesn't demonstrate a solution to the problem. A window manager like xmonad is just another plain old X11 client, and as such they can disconnect and reconnect to the Xserver without affecting other running X11 clients. When you do alt-Q to reset xmonad, it closes the the connection to the X server, re-execs itself and then opens a new connection to the server. The windows themselves are preserved because they are separate X11 clients, and aren't running "under" xmonad in any sense. The window layout is preserved because xmonad explicitly serializes it, as you can see by running "ps" to see the revised xmonad command line after restarting.