Hello,
can you tell if you use the interrupt-driven or polling mode of FreeMASTER communication? You say that reading is 100% successful while writing often fails on communication timeout... This could be an issue that the FMSTR_Poll is not called fast enough in polling mode. In interrupt mode, it could also happen if the application would be disabling interrupts for long time. The Write command takes slightly longer time to process than the Read command - which could make the difference.
The issue could be also caused by wrong bus termination or imprecise clock. Can you try to lower the communication speed?
Also: does the failure occurs also with the FreeMASTER test application included in FreeMASTER driver?
Thanks,
Michal