Since you say that it happens with any OS, the (lack of) speed is indicative of failed NWAY negotiation. In other words, one of the computers thinks it is on a full-duplex Ethernet, whereas, in fact, a semi-duplex connection is used, resulting in horrendous number of collisions and abysmal throughput.
With OS X you should be able to nail the NIC to a particular setting, if it is the one failing to negotiate correctly; if it is the other computer, you might be SOL, unless it has the machanisms in place to do the same.