Wozu ist denn das data_alt? Das verwendest du uninitialisiert.
Versuch mal nen poll-Betrien also Receive ohne Interrupt zu nutzen.
Ansonsten fällt mir nur ein, daß es eine Silicon-Bug sein könnte. Evtl sagt ds Datenblatt oder die Errata zu deinem AVR was dazu, aber an so war denkt man natürlich nicht gerne...