I have a ZyXEL P-600HW-D ADSL router.
I can't get VNC to work from one PC to another-I'm putting it down to the fact that I can't ping from PC to PC (I can ping from either PC to the router)
It's a fair bet that, if you cannot ping directly between the PCs, then there is something blocking the pathway (like a firewall), so not a lot can get through.
Do you have any network shares? if so are they visible?
As mentioned the most likely cause is a firewall - don't forget Windows from XP on has a rudimentary firewall that protects little but is guaranteed to screw up any legitimate use because you've forgotten it.
The other possibility if working entirely local is that the router doesn't support loopback (I've had several that don't over the years) so something like http://mybox.no-ip.org will fail but http://192.168.1.101 will work fine.
Question about network shares is to gather whether, despite the ping not working, the network access is broadly working - some firewalls will block pings, until enabled.
Were sharing to be working, then we'd know that routing was working, and it is then detail of firewalling or some other problem yet to be found.