I have a simple proposal which builds on the XRANDR extension. Basically, my proposal is:
If XRANDR is present, then XReparentWindow behaves slightly differently. If the new parent window is on a screen other than the one the window is currently on, then rather than generate a BadWindow error, the window will be reparented successfully and a RANDR event will be generated and sent to the reparented window containing its new root window information. An implementation may require that a compatible visual exist on the new screen. (which XReparentWindow requires on the same screen anyway)
I think this would make working with multiple screens immensely more useful and (with a properly extended window manager) would give 98% of the value of XINERAMA without any of its issues. It would also be possible to use this behavior to allow turning on and off extra screens at run-time as windows on the screen to be shut down can be reparented to another.