You need to add following lines to your code, so that all your ISR routines, not only MSCAN stay between them:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
.. your MSCAN ISR comes here
#pragma CODE_SEG
Linker is not happy becaus you are using banked or large memory models, in which all routines by default are allocated in banked memory and function pointers are 24-bit wide, while vector table entries are 16-bit wide, so you see fixup overflow.