Thanks vmax for your help. I did figure some things out most importantly of which is that parameters are VB variables and not really a part of the g-Code. I mistakenly thought that parameters like #1023 or even #2000 were specific to G31.
I store the probe dia as a tool dia so that's no problem there and I know the diameter to about +-0.0003". The inaccuracy is in aligning the tip in the spindle with the probe alignment mechanism, tool holder, collet, and the spindle taper itself all having some inaccuracy. So just randomly inserting the probe in the spindle gives me an accuracy of maybe +- 0.004 which is close enough for somethings but not everything.
So I made a screen button that probes a 123 block that claims to be accurate to 0.00005" and touches off the 4 different sides of the probe tip
Xleft, Xright, Yforward, Yback. With the known 123 block dimensions and probe tip diameter, it calculates 4 different probe radii to use. I store these radii in parameters #5301= XleftRad, #5321=XrightRad, #5302=YForwardtRad, and #5321=YBackRad. I do not know if it correct to use these paramaters for storage but it seems to work and these parameter numbers are remembered when restarted.
On all other X/Y probe buttons, I changed the calculations to use appropriate GetVar(53XX) in place of ProbeDiameter/2.