Yes, it is very puzzling. I am presuming that you are not using any type of firewall, even the one that comes with XP. I have seen this happen when an ethernet card goes bad or is not seated properly, but since you've connected through a USB port that would seem to rule that out.
After booting up your computer, bring up a command prompt and type ipconfig without any parameters at the DOS prompt. This should give you the address it has acquired from your ISP through your modem. Then, type ipconfig /release and then ipconfig /renew. If it times out, but the modem light shows a connection, my guess is that you have something amiss with the ethernet card.
If it does give you an address type something like ping
www.google.com and see how long it takes and if there is any packet losses. If there are packet losses, your signal to the modem is bad.
Some folks change the windows registry parameters to speed up their machine. Some games played online at one time did this. There are tools on dslreports that can set the parameters back to their windows default and/or modify them.
Without knowing a lot of specifics, I have thrown out some suggestions, most of which you've probably tried. But, keep coming back to let us know what you've tried and what the outcome was.