Das SREG muß man selber retten. In der Regel ist das der Erste befehl nach dem RJMP in der Vektor tabelle.

Es spricht nicht viel gegen rcall in der ISR.

Eine Ursache für das Problem könnte ein nicht initialisierter Stack sein. Wenn der Stack noch irgendwo im Nirwana ist, dann kann der Rücksprung auch schon mal nach 0000 gehen.