vediamo:
1. il pic è guasto. Carica sopra il classico programmino che fa lampeggiare 1 led e vedi. Se non funziona a dovere, è questa l'ipotesi corretta.
2. hai sbagliato qualcosa. Supponiamo i flag siano corretti. Andrei a vedere gli interrupt ogni quanto arrivano ma soprattutto quanto durano. Un ciclo sbagliato all'interno di un interrupt e sei fregato.
Se ci pensi, se il pic passa il suo tempo gestendo l'int, va lento...
Però solo tu conosci il programma e puoi dare la risposta corretta