Further explanation after my reply in the "Bug" thread.

When there was ...

LATF = LATF ^ 1

LATF is is BANK7, and since PBP thought it was in BANK0, it would have changed to BANK7 to access LATF, and at that point it knew it was in BANK7.
So then it changed back to BANK0 to access CNT, PORTA, PORTC etc.

When the LATF statement was commented, it thought it was still in BANK0, and didn't try to change the bank, not knowing what bank it was really in at the start of the interrupt.

Remember that this type of ASM interrupt using PBP statements, goes against the standard rules of interrupts.

I'm still embarrassed though.