Charles Linquis,I never see you setting the TMR0 value which means you are allowing it to overflow every 4.194 seconds. (1/4000000)x4x64x65536). This is assuming your TMR0 is a 16 bit timer.

Dave Purola,
N8NTA