Just curious, have you tried to install the interrupt without using Arduino's attachInterrupt() function?
Also, there is a known issue with calling micros() with IRQs disabled and the potential for timer0 rollover, however, I don't believe this to be your issue.