I've just sorted a LAN with similar problems. The PCs that had the worst of it and weren't sorted until last were XP. The Cure?
Get rid of Norton Internet Security - at least the Firewall part. It destroys the Winsock settings if you are using a Router with DHCP enabled. As soon as Norton IS was uninstalled, the problem self-corrected. The DHCP give out the correct IPs and all was well. I'm about to contact Symantec to tell them about it and see if there is a work-around.
Except for the Notebook with XP Pro; it had quietly formed a Network Bridge and was looking around for its mates on a completely different LAN. Here's the beauty of XP for Administrators. Just deleted the Bridge, right-clicked on the re-enabled normal LAN and left-clicked "Repair". Hey presto!
Try it if only temporarily and get back. I'm still trying to repair the Win2K laptop with corrupt Winsock. I've got all the tools, just haven't figured out how to use them yet. All about UDP packet size not available.
...one hour later. Bless its little cotton socks, this site with this WinsockFix routine is a gem!
http://members.shaw.ca/techcd/VB_Projects/
Obviously use with great care, but it did the trick and the laptop in question is back on the Web. As to what broke it..? Was it D-Link Airplus software, ZoneAlarm or Norton Internet Security? Re-install one at a time and see what happens....