Хорошо. Только странно - зачем выкладывать рабочую версию, если проблемы с нерабочей ?

Появились вопросы:
Вы когда пишете в ЕЕПРОМ прерывания выключаете?
В процедуре CheckStat у вас случайно не меняется банк? Если так, то перед очередной проверкой btfsc itog,6 нужно сново выполнить banksel itog
А в прерывании не надо тоже сделать banksel itog для надежности?
И вообще, пишите лучше на Си ; )