It would help to get rid of the pause 10. With your timer0 interrupt happening every 1mS
you can miss up to 10 interrupt counts. Using BASIC interrupts your pause command will
have to complete before it jumps to your interrupt handler.
What speed crystal are you using?
Edit: If you're using GPIO.5 as the LED output, then I suspect you're uisng the internal osc.
DEFINE OSC 3 is going to throw timing off since the internal osc freq is 4MHz.
DEFINE OSC 4
DEFINE OSCCAL_1K 1
Would help get your timing a lot closer.
Bookmarks