To the OP. Moving to a work offset coordinate may work if you are sure its within the machine work envelope. Moving to a machine coordinates will always work, unless you hit a vise. LOL When I do safe position moves for tool changes I push the current XYZ off to variables, retract Z, then perform any other moves that are appropriate, change the tool, apply tool offsets, and then use a safe path return to the previous XYZ coordinate. Even that can have issues if for instances you are zeroing to a different level after a tool change, but for the most part it works.