Hey Bison,

Yes, very steep learning curve... but the pay off is worth it.

Not sure if this is your real problem or not... but on the program I have that works with a 12F683...

Instead of using "DISABLE INTERRUPT" AND "ENABLE INTERRUPT"...

I just use "DISABLE" and "ENABLE".

Again, this is for the 12F683, but I also needed this...

Code:
INTCON     = %11001000     'now enable GIE,PEIE,x,x,GPIE,x,x,x
I then use this bit of code when interrupted to see if the int. was caused by the timer1 overflow or because one of the inputs (button) went low...

Code:
disable

MyInt:
  
  inttype = PIR1 & %00000001  'check if timer1 overflow occured
  if inttype = 1 then goto TimerInt
  
  goto buttonint  'interrupt was gpio.3
I do not have the time to examine your code in detail right now but there are a couple of things to check.

good luck
Dwight