Backlash enabled make sonly a difference when the x, y or z value is not 0, otherwise it is ignored. So good for testing if your problem comes from that. Of course having set values while there is no backlash will add lines where not needed making circles not round. Have you not fixed the pulleys on the new motors of the mechaduino? I mean it's idea is to not loose steps but 0.5mm error sounds high.