.. 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