drick
It's hard to network diagnosis remotely and possibly even harder for the inexperienced - essentially you need to get a network analyzer in there and look at the error numbers.
I can, however, explain why it does not show up consistently ...
A tcp/ip network is designed to be "self healing" in so far as it will detect transmission errors and fix them by retransmitting the corrupt packets - in a large network with redundant links (such as the internet), you can actually have a link fail entirely and the users be completely unaware.
In smaller networks - such as yours & mine - we have no redundant links, and tcp/ip's self healing nature tends to mask errors rather than reveal them so we can fix them. When the transmit rates are low, a few megabytes/sec the occasional error and retransmit goes unnoticed, but as the transmit rates increase, the error rate increases, and with it, the number of corrective retransmits required - the problem is that this further increases the transmit rates, and with that the errors and retransmits.
Have you ever watched a snowball rolling downhill? As it rolls it gathers more snow, becomes larger, and larger, and larger ....
Well - the same thing happens here - the transmit rate increases, the errors increase the retransmits increase, increasing the transmit rate further, etc. until the retransmits makeup more than the actual data and the connection times out.
The problem is fairly common in wireless networks in areas where there is a high density of wireless installations, and this is in fact where I first found it - the Intel ProWireless cards allow you to observe error statictics - but it can occur in any network even wired ones.
How do you fix it without the analyzer - start by examining your network cables - make sure they are correctly terminated and installed (if you crimped them yourself, there is a little more to it than just matching the wire colors - specific wire pairs must be terminated on specific pins in the connectors to avoid a condition known as split pairs)