Can you change it to use attachInterrupt rather than:
ISR(INT0_vect){
Replace these lines:
//Setup external INT0 interrupt
EICRA = (1<<ISC01); //Interrupt on falling edge
EIMSK = (1<<INT0); //Enable INT0 interrupt
by:
attachInterrupt (0, buttonPress, FALLING);
And replace:
ISR(INT0_vect){
//When you hit the button, we will need to display the time
//if(show_the_time == FALSE)
show_the_time = TRUE;
}
by:
void buttonPress ()
{
show_the_time = TRUE;
}
See if that does anything.