A relatively straghtforward and free fix is to install Cygwin
on the computer along with the OpenSSH and Cygrunsrv packages. Step by step instructions for getting sshd to run and start automatically can be found at http://www.noah.org/ssh/cygwin-sshd.html
This allows access to the computer by SSH and you then tunnel your VNC connection over the SSH link. You should then set the VNC server only to allow access from localhost.
A good free SSH client for the remote machine is Putty