Using Prescaler above 64 on ATTiny45
I suspect the Arduino startup code is setting the timer registers, especially TCCR0B  to a value other than the startup default of zero. Try the following code that removes the OR:

TCCR0B = (_BV(CS02) | _BV(CS00)); //Prescale 1024


Looking at the datasheet / 256 and /1024 both have CS02 set to one. If CS01 is set to one by the Arduino code that will be enabling the external clock source when you're trying to set the higher divisor values.

The only other thing worth pointing out is that Arduino tends to use TIMER0 for functions like delay() and millis(). Once you've changed the timer setup those functions won't operate as per usual so you might need to write your own timing routines if required.