And the real challenge is getting VNC to share display :0.

Currently there are a few hacks that allow this, but the most promising and easy method looks to be to use RealVNC 4.0 (which is currently in beta testing), or hope that TightVNC introduces this very soon.