Ok, so i have a general dislike of going near variables - you have little idea of which one is free and i don't like cherry-picking a number just in case its used elsewhere and causes big trouble

So, my next idea to enable me to use machine coords for the knee is this...
Hide a user DRO on my screen somewhere,
Zero this DRO upon Mach loading,
When i press "Set Z Zero" it copies the value of OEMDRO(88) (C axis machine coords) into the hidden DRO - this is now my reference value for all TL calculations,
In my M6Start I can read the hidden DRO, use the value to calculate a move based on the difference between my probe and tool,
Make the move in G53 on the C axis
I'm guessing a test/abort/message will need going in the M6start to abort if the hidden DRO is zero i.e. Z is not set or a rapid dent of the knee could occur if a tool change is manually called etc.
Sound like a workable idea?