Vine Server (formerly OSXvnc) is nice in that it allows multiple VNC sessions to be open simultaneously. Use Fast User Switching, and launch Vine Server in each user. Each user has a different port, so you can remote in as different users, without interrupting the local user.
I used to do this when my wife used our eMac as her primary machine, but the machine also had all our home business info on it. I just left the home business user logged in with OSXvnc running, and would remote in. Unless I tried to do something CPU-intensive, she didn't even know I was connected.