I think I've found the root of my problem, I sent M501 to the printer. The settings I got back don't seem to have any relation to my config.h but the interesting thing is the last two lines:- 18:15:23.659 : echo:Z-Probe Offset (mm):
18:15:23.660 : echo: M851 Z3.90. And there's my Z discrepancy. Now I just have to figure how to clear the printer and re-flash my config.h ( after I've re-edited it of course!).