Thank you for the answer.
I see your point.
But bootloader code starts at $17680 and do not use any interrupt and not even the DT interrupts.
For the bootloader I've used RESET_ORG $17680
If I see the disassembly there is nothing between $00000 and $1767F

When it is time for the Mainprogram to jump to the bootloader, I execute a
@ goto 0x17680

The booloader code looks at a eeprom location to see if actually is a firmware update to do and if so, then start the writing.
Booloader have also the CLEAR instruction to prevent any data in RAM and I'm also turning off the Global Interrupt bit (GIE = 0)
What keeps alive some portion of the code in the main program, if interrupts are disabled and execution is transferred to $17680, far away from any other portion of the main program?
Also, from the microprocessor datasheet, while writing to the program area, the PC (program counter) is stopped.
I'm really lost now....