first here the file. (yesterday there was a problem on the computer or something else).
second CMM: from my experience CMM may be accurate as You wont (2 micronmillimeters is not enought?), it depends on how long can you wait for the measure to be performed, so sometime it is better to use a profile tracer.
It is right that roundness and runout-error may influence the results but from what You said the main issue seems to be the starting point that may be changed everytime You run the program. If You are using Mitutoyo CMM may be I can check the program if You post it.
Why not to perform the lenght calculation directly by CMM program?
bye