Hi James,
The rub with the old flexcan drivers working with the newer MQX4.1.x is data types changed as well, and duplicate function declaration.
I'll attach all the files I touched into a ZIP that come from the MQX4.1.1 installation and specifically tested on the TWR-K70F120M.
I basically #defined out the new flexcan code in the fsl_flexcan_test.c and fsl_flexcan_test.h and replaced with the MQX4.0.1 test.c/.h code.
I then had to include flexcan_mk70.c, kflexcan_int.c, kflexcan.c, and kflexcan.h in the BSP->Peripheral_IO_Drivers->flexcan folder (simple drag-n-drop from the MQX4.0.1 path).
I also had to add one file (kflexcan.h) copy in the post build batch file to copy header file into the /lib path.
I did have to short R22 (signal PTC16 to edge connector for CAN1_RX signal) and R23 (signal PTC17 to edge connector for CAN1_TX signal) to allows signals to get to the TWR-SER card J5 header block.
Note I had to copy the flexcan_nk70.c file from MQX4.0.1 as it was not in the MQX4.1.1.
A screen shot of the files I touched is here:

I did test using 2 TWR-K70F120M tower kits with one setup as NODE 1 and the other NODE 2.
I also re-tested that I could change my #if 1 to #if 0 in the fls_flexcan_test.c source file to switch back to using the new flexcan driver.
The comment to that #if is
//DES 1=old flexcan driver test.c code, 0=new flexcan driver code
Hope this helps.
Regards,
David