Watchdog timer is off, I do use an Assembly interrupt routine to create a time base using TIMER2. AT 16 MHZ I can make a 1/100th second interrupt.
I do not think I am overflowing the stack (or maybe I am?) as there is one GOSUB to one subroutine at a time in a Mainloop which contains nothing but a RETURN statement. If I move the subroutine further up in the code, it works fine. It seems like once it is further down enough, no subroutine will RETURN back.
The PIC has 64K of code space, I should be nowhere near that. I wonder if I am crossing some 2K boundary or something like that or if the interrupt routine
screws up a bank select register. I use MOVFF in the assembly interrupt routine to save W, STATUS, BSR, PCLATH upon entering, and restore upon exiting then RETFIE.