XP single session
Vista > multiple sessions ( logon session, userA session, userB session...)
VNC need to run in the console (visable) session , each time the console session change vnc is restarted.
Unless you set a reconnecttime ( viewer option) you manual need to reconnect after each session switch.
If reconnect is set, server still restart, but connection is done in background without the need to reenter a password.