Ja stimmt, hätte er gesollt.
Ich habe aber durch andre Tests herausgefunden, dass die ISR nie aufgerufen wird.
Außerdem habe ich jetzt das ganze if...else durch PORTB ^= (1<<PB0); ersetzt.