Hi,
those statuses may indicate previously used MB for transmission does not have successfully message transmitted. You can check ECR,ESR1 registers to know if any error is detected.
Also it would be better to do not use FIRC as CAN protocol clock, used rather FXOSC or PLL running from XOSC.
Also it could be due to a way you are using MBs. You defined 16 MBs to be used in you FlexCAN config. Then 11 are configured for reception, not sure which one. For transmitting you are testing status of first 32 MBs (MBs 0-31). This does not make much sense. Test just remaining MBs from those 16 MBs enabled, or better only those used for transmission.
You can also try to extend timeout value in blocking function.
BR, Petr