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

.. and then resume them. Anyways that function isnt supposed to be even called just by pressing the button, you need to hold the button...

    sei(); //Resume interrupts

its worth a shot to take that out to see if its getting called. Will get back to you