Try with SRR set.
My Vector 'reference chart' says SRR will be recessive (1) for extended-ID messages. My TX-prep code for the first MB word:
pFlexCANReg->MB[iTxMBNo].CS = FLEXCAN_MB_CS_CODE(FLEXCAN_MB_CODE_TX_INACTIVE)
| FLEXCAN_MB_CS_SRR //Always 'set' SRR
| (bIDEin<<FLEXCAN_MB_CS_IDE_BIT_NO)
| (bRTRin<<FLEXCAN_MB_CS_RTR_BIT_NO)
| FLEXCAN_MB_CS_LENGTH(iNoBytes);
In any case, all we can say at this point is that some bit NOT shown by your logic analyzer is 'different', and the CRC is 'ok' because your receive-nodes ACK the message (so 'good' at the physical layer!) -- and this 'unseen content' is causing the message to be dropped, either directly by the receiver's message-filters, or by higher firmware layers.
Also, from a Kinetis Reference Manual:
