I then use Hyperterminal to read the output from the Arduino using my laptops serial port
In my experience this is exactly what happens with Hyperterminal, I would try something else.
Having said that receiving and transmitting art the same rate is going to drop characters eventually because the two rates while at the same speed are not synchronised and so will drift with relation to each other. When this happens the buffer slowly fills up and you end up missing stuff. It is always better if the input data rate is slower than the output data rate.
And anyway you could achieve good results if you replaced the arduino with a wire. Or are you planning to do anything else to the data as it goes through?