It should work, pretty much like you've described. Check out this LQ blog entry and see if you've covered all the bases:
http://www.linuxquestions.org/questi...-windows-3065/
A couple of troubleshooting tips:
1. Check your logs (e.g. $HOME/.vnc/*.log) for errors or warnings
2. Check your logs for the ABSENCE of anything (this would tend to implicate the firewall)
3. Try tcpdump to see if any packets are getting through