What value is stored in System Variable #5061 when you execute the program with 1mm subtracted from X492.6115, it should be 491.6115? If so, the G31 function is operating correctly and I suspect that the Q Setter is not wired to the Skip Signal Input. In this case, the machine and control is operating in the same way as when manually jogging the axis onto the Q Setter, the axis travel will be halted and must be manually driven away from the Q Setter..
G31 has all the same attributes as G01 (except an alarm will be raised if G31 is issued in G41/G42 mode. Accordingly, if the axis were to be driven onto the Q Setter using G01 mode, the control would protect itself by hauling axis traverse when any of its switches are made and you would have to manually move the axis away from the Q Setter. Without the Q Setter being wired to the Skip Signal Input, the same will happen when using G31. The G31 function doesn't see a Skip Signal and therefore, doesn't skip to the next block and the program stalls.
Regards,
Bill