Ok, thanks - so variables can be transferred either via EEPROM (which is bidirectional [main program<-->updater] since it stays put after reset) or via variables assigned in BANKA (which is uni-directional, since it's cleared upon reboot after the lower code is rewritten).

You determined that BLOCK_SIZE was a constant by looking at the INCLUDE file for the pic, right?

I haven't tried it, but do you think it should be possible to use:

Blocksize VAR BYTE $70
Blocksize=BLOCK_SIZE

and then pass it that way, since BLOCK_SIZE is pre-defined in the device's include file?