Das Vorladen wird nur 1x in init() gemacht, danach nicht mehr.

Das korrekte Register heisst OCR2 oder so.

Code:
void timer2_init (uint8_t ocr2)
{
    // Mode #2 für Timer2 (Manual S. 115)
    // und PRESCALE=8
    TCCR2 = (1 << WGM21) | (1 << CS21);
    
    // PoutputCompare für gewünschte Timer2 Frequenz
    OCR2 = ocr2;
    
    // OutputCompare-Interrupt A für Timer 2
    TIMSK |= (1 << OCIE2);
}