Hi Daniel,
Have you resolved this problem? What output port and pin are you using? It probably isn't the motor driver, but the next time it happens you can confirm it has swapped polarity by using your multimeter to measure the voltage on the direction input of the motor driver. First measure the voltage when it is working properly, and then measure it after it has unexpectedly changed direction. Be sure to remember which multimeter lead you had on each terminal. You should probably measure the voltage at the output of the ESS, the output of the BOB, the output of the differential drivers, and the input of the motor driver. You might not need to use the conversion modules since the ESS can output quadrature (A and B) directly instead of Step & Direction. The setting for each axis is on the ESS's config page.
You said "I check the ports and pins settings Motor Output the Dir low active". I assume the Dir had been set to low active and you clicked it twice (once to Active High, and again to Active Low) to make sure it is set properly? Or was it Active High when you opened up the dialog and it should have been Active Low?
What version of Mach are you using? And what version of the plugin?
Thanks,
Greg