Ich hab da ein paar unschönheiten und Fehler in deinem Code entdeckt und diesen berichtigt.

Die Main Routine läuft in den Interrupt, das kann so nicht sein.
Der Interrupt Vektor für den Timer Overflow ist an der falschen Stelle.
Im Interrupt wurde das SREG nicht gesichert.

So wie ich das sehe muss den Controller auf internen Oszillator gefused sein, oder er läuft auch mit 32kHz.

Simulieren ist hierbei etwas schwierig, du könntest für den Simulator eine Taktfrequenz von 32768 einstellen und lässt den Timer auf der Prozessortaktquelle laufen. Nur für den Simulator natürlich.

Code:
.include    "m8def.inc"

.def temp1=r16
.def temp2=r17
.def Sekunden=r18
.def Minuten=r19
.def Stunden=r20

 .cseg
 .org 0
      rjmp   Start      ;Sprung zum Programmanfang
      reti            ;Interruptvektortabelle
      reti
      reti
	  rjmp   timer2_overflow      ;Timer Overflow Handler
      reti
      reti      
      reti
      reti      
      reti
      reti
      reti
      reti      
      reti
      reti      
      reti
      reti      
      reti
      reti


Start:   
      ldi   temp1, LOW(RAMEND)
      out SPL, temp1
      ldi   temp1, HIGH(RAMEND)
      out SPH, temp1
	  clr Sekunden ; Könnten ja Werte >60 drinstehen
	  clr Minuten
	  clr Stunden	
      

rcall Setup

      ldi temp1,0b00000101  ;(32768/128)/256=1  Vorteiler
      out TCCR2,temp1
      
      ldi temp1,0b01000000
      out TIMSK,temp1
      
      sei    

LOOP:rjmp LOOP 



Setup:   
   ldi   temp1, 0b00011110
   out DDRC, temp1
   ldi temp1, 0b01111111
   out DDRD, temp1
   in  temp1,ASSR
   ori temp1,0b00001000
   out ASSR,temp1
   ret



timer2_overflow: 

      push temp2
      in temp2,SREG
	  push temp2
	  inc   Sekunden
      cpi Sekunden,60
      
      

      brne Ausgabe
      clr Sekunden
      
      inc Minuten
      cpi Minuten,60
      brne Ausgabe
      clr Minuten

      inc Stunden
      cpi Stunden,24
      brne Ausgabe
      clr Stunden
Ausgabe:
      ;ldi temp1, 0b11111111
      ;out portd, temp1
        ;com temp1
        ;reti
      mov temp2,Sekunden
      lsr temp2
      brcs AZE
      rcall a
      rcall A4
       
      rjmp end_isr
AZE:    rcall a
      rcall A3
      

      end_isr:
      pop temp2
	  out SREG,temp2
	  pop temp2
      reti


a:   ldi   temp1, 0b10000001    ;Zeige Ziffer 0
   out PortD, temp1
   ret

b:   ldi   temp1, 0b11001111    ;Zeige Ziffer 1
   out PortD, temp1
   ret

c:   ldi   temp1, 0b10010010    ;Zeige Ziffer 2
   out PortD, temp1
   ret

d:   ldi   temp1, 0b10000110    ;Zeige Ziffer 3
   out PortD, temp1
   ret

e:   ldi   temp1, 0b11001100    ;Zeige Ziffer 4
   out PortD, temp1
   ret

f:   ldi   temp1, 0b11000100    ;Zeige Ziffer 5
   out PortD, temp1
   ret

g:   ldi   temp1, 0b11000000    ;Zeige Ziffer 6
   out PortD, temp1
   ret

h:   ldi   temp1, 0b10001111    ;Zeige Ziffer 7
   out PortD, temp1
   ret

i:   ldi   temp1, 0b10000000    ;Zeige Ziffer 8
   out PortD, temp1
   ret

j:   ldi   temp1, 0b10000100    ;Zeige Ziffer 9
   out PortD, temp1
   ret
      
A1:   ldi temp1, 0b00000010   ;Anzeige 1 an
   out PortC, temp1
   ret

A2:   ldi temp1, 0b00000100   ;Anzeige 2 an
   out PortC, temp1
   ret

A3:   ldi temp1, 0b00001000   ;Anzeige 3 an
   out PortC, temp1
   ret

A4:   ldi temp1, 0b00010000   ;Anzeige 4 an
   out PortC, temp1
   ret

delete1:   
   ldi temp1, 0b11111111   ;Segmente loeschen
   out PortD, temp1
   ret
delete2:   
   ldi temp1, 0b00000000   ;Anzeige loeschen
   out PortC, temp1
   ret