Button (INT0) interrupt freezes interrupts for 1 sec... stop!

//This routine occurs when you hold the button down
//Holding the button down will increase the time (accelerates)
//Releasing the button for more than 2 seconds will exit this mode
void setTime(void) {
...

    cli(); //We don't want the interrupt changing values at the same time we are!

You've turned interrupts off, so the time won't update.