Paul,
I updated the post(turned smileys off).
That was not what I told you to do.
Does YOUR code really contain:
for(i; i<8; i++)Serial1.print(READ_DATA);
I am using Arduino 1.0.
So, you should be aware that Serial.flush() now blocks until the send buffer is empty. Is that something useful for your code to be doing?
Yes, I did an independent test at 38400 sending / receiving to the mega serial port, seemed to work fine.
This looks an awful lot like a clue, then.