reset des millis() Wertes

Ich denke nicht das SREG "nur" eine Variable ist. Ich vermute hier wird direkt ein Register angesprochen, genau wie bei den IO-Ports (PORTA, PORTB, etc...). Hier schreibt der AVR Compiler wohl beim Schlüsselwort "SREG" direkt auf das Register.
Zumindest werden bei der originalen millis() Funktion auch per cli() auch die Interrupts abgeschaltet und danach nicht per sei() wieder an, sondern durch schreiben des alten Registerwertes wieder aktiviert.

Laut http://www.cse.unsw.edu.au/~cs1721/05s2/lectures/slide48.html ist im Statusregister (SREG) auf das Interrupt enable/disable Bit (Bit 7) enthalten, damit werden also durch zurückschreiben des originalen Wertes (vor dem Ausschalten der Interrupts) in das Register auch die Interrupts wieder aktiviert.

Siehe auch AVR-Tutorial: Interrupts – Mikrocontroller.net
Da wir in C arbeiten und unsere ISRs in der Regel Funktionen sind, brauchen wir uns um das Sichern der Register nicht zu kümmern, das wird in der Regel automatisch beim Sprung in eine Subroutine (in unserem Fall die ISR) gemacht. Dafür sorgt der Compiler. Trotzdem sollte man sich das merken, denn evtl. ist die ISR ja doch mal bei inline Assembler.
Mario.