Well, since brittons (in the EE_vars thread) appeared to have a similar problem changing the EE_start location ... I figured I better take another look.

So I did.
I've checked it starting at the default 0 location in EEPROM, and changed EE_start to several other values, and added DATA statements to duplicate your situation ... all with the same results.
I does exactly what it's supposed to do. The EE_var locations move to the appropriate places and everything works fine.

I don't have a Firecracker, so can't test that part.

The only thing I can see in your code, is that you've set the internal oscillator to 8Mhz, but didn't put a DEFINE OSC 8 in there. PBP will default to 4Mhz and all those pauses will only be half as long.

That doesn't explain ANY of the described problems, but it needs to be fixed before you'll be able to see the REAL problem.
<br>