As you already guessed this approach won't work because, each FreeMASTER request expects a corresponding response (usually status + data payload). Communication library code should be kept unchanged.
Regarding your frames - I could not interpret them, could you please extract only the data payload.
Just to clarify what I was trying to get from them: each CAN frame (inside its data section) should contain a partial or entire FreeMASTER message of minimum 3 bytes (start of message + status + CRC).
You can inspect it by putting break points on FMSTR_CAN_PUTBYTE macro, inside FMSTR_TxCan function (or inspect CAN RAMn0 register before FMSTR_CAN_TX call inside the same function call).
Regarding your log: the first two commands FreeMASTER tool sends when you press the connect button is - try getting board information. The first one (0x20) is expected to fail because because it checks for a newer protocol version, hence the name "SendRecvPacketV4" (the response should be 0x32 0x82 0x73 that's what I get and is independent of the target). The next one (0xc0) should succeed (first byte of the response buffer should be 0x00 and total length 37 bytes) and return a valid message.
This would confirm that communication library works on the embedded side and we can further investigate the communication between target and host.