Es hat sich inzwischen herausgestellt, dass die Verwendung von Register Variablen bei Verwendung der AVR libc unerwartete Seiteneffekte bewirkt hat.

Das Problem ist, dass ich in "meinen" Sourcen zwar ein Register reserviert habe, aber die AVR libc weiss davon nichts. Spätestens wenn man nun z.B. mit printf etwas ausgibt, passieren seltsame Dinge.

In meinem Fall kam erschwerend dazu, dass ich das Register in einer Interrupt-Routine beschrieben habe. Sobald irgendeine Library das Register anderweitig verwendet (was sehr wahrscheinlich ist), kommt es zu Fehlfunktionen.