I thought it could be that the TIMERx_OVF_vect casing might be the cause, the camel-case form of TIMER1 compiles but doesn't produce an output either, however the uppercase version of Timer1 causes a compilation error.
Even if you don't need millis() function, you can't use TIMER0_OVF_vect because the Arduino Core has defined a Timer0 overflow interrupt (a.k.a. TIMER0_OVF_vect).
If you write multiple ISRs of the same vector, a compile error will occur.
Try using TIMER0_COMPA_vect instead of TIMER0_OVF_vect.
The overflow interrupt must be released and the compare match A interrupt must be enabled.
I think that you do not learn by messing around with the Arduino basics. Use Timer1 and Timer2. Learn, for example, about all the different PWM modes, that will keep you busy for a while.
Timer0 is also used by analogWrite() when a PWM pin is selected that is a output of Timer0.