Du kannst doch das Timer0-Register mit einem bestimmten Wert vorladen und somit wieder einen Interrupt auslösen lassen und musst nicht drauf prüfen, ob der Wert stimmt (Vorladewert=255-Sollwert).

Hab mir aber noch nicht so genau durchgelesen, ob das ganze in dem Kontext, wo du es brauchst, so Sinn macht - das da oben ist mir nur beim Querlesen aufgefallen...

Und ich würde dir empfehlen gleich auf irgendeinen anderen PIC-Typ umzusteigen, da die 16F84er zum einen schweineteuer sind (für ihre Leistung) und zum anderen wenig Ressourcen haben (kein HW-UART, kein I²C, usw) - vom Stromverbrauch möcht ich gar nicht erst anfangen.
Empfehlen kann ich dir den 16F627 als direkten Ersatz (Pinkompatibel), oder die ganze 16F87X-Reihe - davon besonders die 16F870er(28-Piner) und wenn man mal ein wirklich richtig großes Projekt macht den 16F876(28er) bzw. 16F877(40er) (je nach Anzahl der Portpins).

MfG
Stefan