It's a good thing that the machine reports back the position of the ATC in the diagnostics window. That means the hardware, the encoders and limit switches are working. I think you should take a look at the ATC routine itself. Maybe it has been modified to get this kind of behavior on purpose, who knows. The ATC subprogram is usually located in the higher order "protected"program numbers (eg 8001 or 9001). The code may be quite cryptic. Mine looks more like Basic programming language. Post it here. Maybe we can help.