Like most laptops, my ThinkPad X40 has an ethernet port and built-in WiFi. My office at work supports both connection types, so theoretically, when I plug into the ethernet network, the laptop connects via ethernet, and when unplugged, it uses WiFi.
However, this was not the case for me. Instead, when both ethernet and WiFi connections were available, the laptop would randomly choose between the two at random intervals. Compounding the problem, the office WiFi connection requires the use of a VPN for security, whereas the ethernet network does not. That meant that periodically, the laptop would try to access the WiFi net without a VPN, and the ethernet network with VPN. Essentially, my network stability was hosed.
As it turns out, Windows XP has a feature that supports automatic network connection preferences. If you have multiple networks available, XP can automatically choose the fastest one, or choose one that you have manually set to a higher priority. The priority settings are kept in the "Interface metric" setting for each TCP/IP connection. Open the Network Connection control panel, right-click on a network connection, click "Internet Protocol (TCP/IP)", click Properties, then click Advanced. At the bottom of the Advanced TCP/IP Settings dialog, there is a checkbox for "Automatic metric" and a settings box for "Interface metric".
On my laptop, both the ethernet and WiFi connections had the Interface metric set to 10, which told the laptop that both connections were of equal priority. According to Microsoft, Windows XP includes a set of default values for interface metrics, so the "Automatic metric" setting should work for most cases. In my case, I set both network adapters to Automatic, and my troubles went away.