Have you ran the configuration and set your BitSetter location? Even if you have already done that do it again.
On the SO4 it is belt driven. Have you checked all your v-wheels and/or adjusted them. Have you checked each stepper motor pulley to make sure you have both set screws tight and one over the flat on the stepper motor. If during the initialization the belts/pulleys are slipping you lose steps and therefore positions are lost. After you check your v-wheels and pulleys power off your machine and SLOWLY move your gantry left and right a few times and then front to back. If you find any rough spots address that. If you move the stepper motors too fast they create EMF and it sounds like the belts are slipping. Lastly inspect your belts to make sure the teeth are good and not stripped off. Likely your problem will be solved with basic maintenance. If you have the Z-Plus as a good measure oil your linear rails. They may not be the source of your problem but after checking everything else it wont hurt to oil your linear rails with Mobil Vactra #2 oil.
At that point, it should work to measure the tool length offset of any tool which is used, and instances where it does not are either an issue with the electronics/connection (check in with support) or a disconnect between how the origin is specified in the job:
I find that opening the .c2d file up and drawing a box which matches the specified dimensions (draw up the cut in profile if need be) or moving the machine to the origin and then using a tape measure to measure out the dimension(s) in question will make clear where things aren’t lining up.
Note that you can use the Rapid Position commands: