Hi @Poley ,
Well the use of Rx FIFO depends on if you can fit your received message IDs into the available Rx FIFO filter elements.
As you can see in the following table, the 4th configuration will allow you to configure 32 filter elements, and having the remaining 18 MBs, 14-31, for Tx. Now the only problem is that only the first 0-13 filter elements have individual ID mask, all the other have a shared global ID mask.

From what I know there isn't a way to detect when a certain message has been put onto the bus, not until it is received by the FlexCAN peripheral. If you use the 4th Rx FIFO configuration, you will have 18 MBs, 17 MBs for Tx, and the remaining 1 MB you could use for normal Rx, non Fifo. This way the Rx Complete event will be triggered as soon as possible once that message is received and in the triggered subsystem you will initiate the receiving of other CAN messages.
Regards,
Paul