There's been another person on the Makerfarm IRC also struggling with Z axis problems. That makes three.
One common denominator is that the MakerFarm zip-tie approach to mount the Z endstop has not been used. If screws are used to mount the switches, don't overtighten them since that can and will distort the switch and lead to problems. I personally wouldn't use hot glue to mount the switch since the glue, while hot, could also distort the switch.
Any time Z axis issues are apparent, make sure the coupling between the Z motors and the threaded rods is tight, whatever method is being used. If using the MakerFarm plastic tubing, add zip ties to the tubing and tighten them as much as you can to provide additional clamping force on the threaded rods. If using split-type aluminum couplers, note that they typically will NOT tighten adequately on the undersized threaded rods unless you've added something like foil or foil tape to the threaded rods to increase their diameter to the 5mm the couplers are designed for. Time and time again we've had people who *think* their couplers are tight only to later realize they weren't tight enough.
When Z heights are suspect, always look at the printer LCD and see what the printer thinks the current Z height is. The display will reflect what the printer has been commanded to (via LCD, gcode file or host software). It does not necessarily reflect the actual position if there are movement problems on the printer. This might help determine whether the source of the problem is the command source (host software or gcode), or the printer itself.
When gcode files are suspect, or you want to know what the gcode will be telling the printer to do as far as Z heights, load the gcode in the
gcode.ws analyzer. It's not an app you have to download - it's just a URL where you can load your gcode. After loading a file, click on the layer view. The scroll bar on the right side of the GUI allows you to view each layer of the print individually. The scroll bar on the bottom allow you to trace through the movement commands for the selected layer. Note that text data on the left will show what the current print height is for that layer.
I'm wondering whether the Z axis stepper driver current limits have been adjusted for any of these three printers. If not, they could be on the low side, which can cause the Z axis motors to skip. This would manifest itself as the printer not always moving to the commanded Z height, whether during homing or during a print. On RAMPS and RUMBA, the stepper driver current limits are adjusted by small trimpots on the stepper motor driver boards. For RAMBO, this adjustment is done through firmware changes (or maybe LCD? I don't know). Refer to the build guide, electronics documentation, or google for more information on the adjustment process.