<font face="Arial, Verdana">> </font>When the nozzle touches the bed and at the same time the z-probe triggers at 2mm the z-probe height would be 2mm.
I think you mean it other way around. If probe triggers and nozzle is 2mm away the z probe length is 2mm. Otherwise you would need nozzle to go through bed to trigger:-)
M114 is no help since you need to have bed calibrated so it is giving good results, so when you need it to find z probe height is is wrong.
<font color="#555555" face="Open Sans, Arial, serif">After changing bed you do the following once to store it in eeprom:</font>
<font color="#555555" face="Open Sans, Arial, serif">G32 S2</font>
<font color="#555555" face="Open Sans, Arial, serif">G33</font>
<font color="#555555" face="Open Sans, Arial, serif">
</font>
<font color="#555555" face="Open Sans, Arial, serif">after that simply use G28 to home. As correction stays in eeprom and active until you disable there is no need to calibrate until you do changes requiring this like other bed surface.</font>