Using COMPA and COMPB correctly

It looks to me like you are starting the timer in setup() and then calling start() which does nothing. The code in the ISR looks like it stops the timer by setting the control registers to 0.

Perhaps you should move the code that starts the timer into start() and call it from your external interrupt instead of from setup().

Then you can take the code the stops the timer, put it in a function called stop() and call it from the COMPB interrupt to stop the timer.