That's what Dave was trying to say. You have the following line in your ISR
Code:
if T0Count = 1520 then  Smooth_reset
This is effectively a GOTO so the execution jumps to the Smooth_reset routine and doesn't return to the ISR from there.

/Henrik.