So
if (OCF0==1)
kann man einzelne Bits nicht abfragen.

Besser so:
if (TIFR&(1<<OCF0))

[Hintergrund: das OCF0 wird von Präprozessor durch eine 1 ersetzt, weil dies die Position dieses Bits in TIFR ist. Der Vergleich wäre also immer wahr gewesen. Die korrwekte Varinate prüft, ob das Bit an der Position 1(=OCF0) in TIFR gesetzt ist.]