Windows is a fickle thing, I constantly have similar problems with networking as well.
Give me two Linux boxes and I can have them running as one in under 20 minutes. However it takes me a month of Sundays just to get one Windows machine to recognize another on my messed up network here at home.
Windows tends to ignore other machines if they're on different subnets, even if they have the same Workgroup name. I understand why, but I'm not really sure why there's no manual override or something like that for it. (If there is a manual override, I certainly haven't been able to find it!)
I'm not sure also, if setting up a secondary local IP will help... since you have a router already, your machines should be running with local IP addresses (Like 192.168.0.101, 192.168.0.102 etc.)
I guess first what I would do would be to make sure any firewalls are disabled on both machines, Then power both computers off, then power your router off, wait 5 minutes, turn the router on, turn one computer on, then turn the other computer on.
Sometimes that will do it.