Wenn jeder gleich alles richtig machen würde, gäbs wohl keine Foren wie dieses hier

Hab nur noch ein paar Tipps:
Die LCD-Sachen aus der ISR rauslassen, das dauert sonst viel zulange,
bau das ins Hauptprogramm, und mit einem Waitms 500, oder so, dazwischen.
So in etwa:
Code:
' Hauptschleife
Do
    Disable Interrupts
    ' LCD-zeugs ...

    Enable Interrupts
    Waitms 500
Loop
Die Interrupts kann man hier ruhig kurz anhalten (wegen der langen Variablen), denn sollte in dieser Zeit in IRQ auftreten, merkt sich das Capture-Register den Timer-Wert, und gleich nach dem aktivieren wird die ISR aufgerufen.

Ansonsten könnt's schon was werden.