Wireshark on the Windows side, tcpdump on the Linux side. Look for RST packets and retransmits. Perform a flood ping from the Linux side to the Windows side and see how much loss you have. If it's over .1% on LAN, you have something misbehaving. Could be cabling, could be failing...
You can get a 2960G for ~$100. Worth every penny when you consider they easily last 10+ years without any problems. Rock solid platform.
If you need L3, you can get 3750Gs for dirt cheap as well.