I tested with this code:
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print(0xAA, BYTE);
Serial.print(0x0D, BYTE);
Serial.print(0x00, BYTE);
Serial.print(0x00, BYTE);
Serial.print(0x00, BYTE);
Serial.print(0x00, BYTE);
delay(1000);
}
And I started hterm (on windows) and read the values in this order:
AA 0D 00 00 00 00
so no problem on windows and Diecimila. I would say that this is not a bug in the Arduino core.
Oh and I have these settings for my FTDI driver:
USB packetsize: 512 bytes
BM delay: 16ms
maybe your usb driver produces the errors because of bad usb timing?