Hello,
I did some minor changes, like, the bootloader is only called when IRQ is low (with jumper), I suppressed clock calibration (using 8Mhz crystal), I had to increase protected space to 1024 bytes to fit CAN send/receive simplified routines in polled mode, and works fine for few month now. The application program use its owns CAN routines with interrupts management.
If you like headache, you can build your own bootloader from scratch, but IMHO doing a work based on AN2295 will be more efficient because the main part of the job is done.
Emmanuel