Thanks.
Shutting down Timer 0 isn't that hard. And see the init() function for how to get it back. Although saving and restoring TCCR0A and TCCR0B should do it.
eg.
byte oldTCCR0A = TCCR0A; // save
byte oldTCCR0B = TCCR0B;
TCCR0A = 0; // stop timer
TCCR0B = 0;
// ... sleep
TCCR0A = oldTCCR0A;
TCCR0B = oldTCCR0B;
Untested though.