Empfangen: Du prüfst nicht korrekt ob das RXC-Bit gesetzt ist. Anstatt dass du das Bit maskierst, veroderst du es mit dem Wert von UCSR0A.

@Interrupts: Du schaltest den Empfangs-Interrupt immer noch an. Das solltest du sein lassen wenn du nicht mit Interrupts arbeitest, ohne zugehörigen Interrupt-Handler startet der AVR sonst bei auftreten des Interrupts (und vorhandener globalen Interruptfreigabe über sei()) neu!

mfG
Markus