I'm sorry FiberOptix,
For some reason I thought I had already responded to you earlier. I took a look at the code, and unfortunately it is far too complicated for me to follow. It doesn't always follow a left-to-right convention and it looks like the readability of parts of it could be improved by encapsulating those sections into subVIs.
I saw the most obvious point of interest - the use of Read per Axis Status and unbundling its output. I'm not immediately aware of why you might be getting erroneous results. Since you said Move Complete gives the same thing, is that also the case if you use Read Move Complete Status VI, which is a more instantaneous read that Read Per Axis Status?
I haven't had a chance to check out the MAX settings just yet, but I'll probably have to consult with some other engineers on that to see what may be going on.