a VM and SSH/X is also a good option
I used VNC for years with cross platform support being a big part of that but I'm a huge fan of ssh/X these days.
If your on a Windows machine, install VMware or some such thing, build a little Linux based OS workstation with a VM then just use ssh to run command line or start X gui programs. The X programs will open on your local display for interaction but keep all processing running on the remote machine. If your using a nonWindows OS then X is probably what your using already so just SSH over without the VM setup.
The down side, a Windows user needs drive space to store the VM and has to actually use it.
The up side, no extra port open for VNC and your using the natural method rather than a reinvented wheel (unless you need to see the full desktop but that's just pretty background and icons really).
I do like Putty for a quick SSH into a server from a Windows machine but as you indicate, your not going to get X forwarding support from it. You can through a local X server on your machine beside Putty but even then, the setup isn't too strait forward.