They work great together. If you click the 'Reset' button or 'Feedhold' button too fast many external motion control devices will have a fit. I'm sure that will improve in the future. These buttons send specific signals to an external device if you press them really fast over and over the external device does not have enough time to process the first command and report back to Mach before the second one arrives. You only need to press 'Reset' or 'Feed Hold' once.
If your G540 is not coming out of Estop mode it is because you do not have Mach configured correctly and/or you did not install the SS driver and plug-in. Go get the G540b.xml from Geckos site and save it in your Mach directory. It has ALL the settings for the G540 all ready done, but NOT for use with the SmoothStepper. To use the SmoothStepper with that profile start up Mach with MachLoader and select the G540B profile. When Mach starts fo to the second menu over and at the bottom of the list will be 'Reset Dev Sel...', click on that, click OK on the dialog box that pops up and then close down Mach and Restart it. When Mach restarts you'll get the licensing screen and then a Screen that says 'External Motion Controller found', select the SmoothStepper from the list and check the do not ask me again box. Now the SmoothStepper is set up to be your motion control device.