Have you tried turning off XPs firewall? Make sure this feature is turned off. I have seen many quirks with this on. If you are recieving private addresses(192.x.x.x, or 10.x.x.x are most common for private) from your router you should be safe enough with out it. Also make sure you are using DHCP(automaticly assign IP) on the 2 PCs. Using DHCP is usually the simplest method. Make sure your cable is good. Switch the cables and see if the problem stays with the machine or moves to the other. Make sure you dont have a crossover cable between the PC and the router. You may want to make sure that your Protocols match on each PC. You can try pinging XPs IP. from a cmd prompt type PING x.x.x.x(where x is XPs IP address) it should come back with a response if the connection is good or timeout if not. This is the simplest things to do first. Try in whatever order is simpler for you.
Hope this gets you in the right direction
Jason