Leonardo (32u4): Timer0 problems with CTC mode
You should re-enable interrupts after you finish setting up. Use either

interrupts(); 


or

sei();


If you want to don't want to use the arduino specific commands. Even if the code does not need interrupts, background code does use them.

Timer 0 is used in arduino for some basic "house keeping" function like keeping time. I'm not sure if that could be part of your problem. you could try using a different timer.