Security
Security is the big issue...
I use a free dynamic DNS name (
http://www.dyndns.org) and the free DynDNS Updater (can also get from their site). This runs on any network connected computer and allows you to access your PC using a static domain name, even when the IP changes.
I then use UltraVNC (
http://uvnc.sf.net) For added security, download the free DSM encryption plugin, and configure VNC to listen on a non-standard port number. The encryption key generated by the plugin resides on both the "viewer" and the "server" and secures the connection with 128k SSL.
Lastly, I have a Netgear ADSL router that I configure to forward all traffic for the VNC port number to the desktop I want to control. I can add additional ports for additional desktops. Works well, but UVNC is not the fastest out there, just ALL FREE and SECURE.
Of course there are many web based free systems out there, but I query what they are gleaning from you in the process.
If you consider this route, let me know if you need help.
Cheers