Serial losing sync after a few bytes??

Which 1284 core are you using? Do you have the fuses set properly to use the 16MHz external crystal?

57600 is a particularly problematic bitrate for a 16MHz AVR, though with a crystal you should be within specs, usually. Try using "Serial.begin(57601);"