I do have a Cartesian printer and mesh works fine for me. I am homing to Z-max and using a capacitive probe for bed leveling. I would suggest you to perform a repeatability test wit a Macro:
[[language]]
G1 X86.5 Y105 Z20 ; Move probe to bed center, not nozzle tip.
G30 ; Find the bed
G1 Z10 ; Raise the X-carriage
G30 S-1 ; Probe and report the value
G1 Z10 ; Raise the X¡-Carriage
G30 S-1 ; Probe and report the value
.... ; Repeat G1 Z10 G30 S-1 as many times as samples required
I copied the output of the G-Code console onto an spreadsheet and calculated average and standard deviation. My standard deviation is 0.016 for a capacitive sensor. On the config file I used "average+standard deviation" as Z offset.
For the mesh leveling, I am using a Macro which works beatifully and because I probed in the center, the view if very representative of the tunings that I need to do for a better leveling:
[[language]]
G28 Z0 ; lets move to the ceiling to avoid crashes
G28 ; homeall.g
G1 X86.5 Y105 F6000 ; move to center of the bed
G1 Z40 F1000 ; Fast move to lower Z
G1 Z10 F500 ; Medium move to lower Z
G30 ; Probe the bed at the current XY position. When the probe is triggered, set the Z coordinate to the probe trigger height.
G29 S0 ; Run probing sequence defined by M557 on the config.g
M374 ; Save calibration data. Default is sys/heightmap.csv
G1 X-5 Y-2 Z10 F4000 ; Go outside the bed