My RWIN is currently at default, and I've tried all duplex settings. BillC told me to use 10 half duplex until the problem was fixed, but that was 3 months ago
Perhaps the answer (in the short term) is to use a ridiculously small RWIN value so any packets which are not recieved can be resent quickly.
I've also changed the network adapter from the one on my motherboard (VIA Rhine) to a PCI one (Realtek), but hasn't affected much.