Without checking your code through, I would suspect that you get the illegal BP because the uP has been reset. The cause for the reset may be an illegal interrupt (you have all the CAN interrupts enabled, but an ISR only for the receiving) or the COP.
Sten
When it stops the following is highlighted
#endif
INIT_SP_FROM_STARTUP_DESC(); /*lint !e522 asm code */ /* HLI macro definition in hidef.h */
CW IDE 5.7.0.1714
came with demo9s12xdt512