We have seen cases where the TX and RX speeds tend to differ drastically. The problem appears to be related to certain hardware combinations and may require one or more tweaks in order to bring the values closer.
The first thing one should look for is IRQ conflicts. It is very important that the NIC and drive controllers have unique IRQs that are not used byany other device in the system.
It is also possible to have problem with the bus due to a noisy component. Some inexpensive RTL based NICs for example are so IRQ intensive that the CPU has to drop all it's doing and accommodate the request at a rate that makes it impossible to do work in an efficient manner.
The point is that the cause can be lots of things.
Try moving cards to a different slot, try moving the RAM to a different slot or try different RAM. Make sure that if you have multiple sticks of RAM, those are matched and of the same type. Take a look at the RAM wait states in the BIOS. Try a different drive an check to see for change or improvement. Try a different drive cable, preferably shorter one. Make sure the drive you are testing is not on the same cable as a CD or a DVD drive. Try a different IDE channel, etc.
I know this is not a direct fix for your problem, but I really am unable to offer one give the nature of hardware. Hopefully however the above can be a good starting point.
