Most of the time, issues like this are caused by a mechanical component that's worked loose. I know you checked, but these things aren't always obvious. Take another look at the axis that's messing up, and make marks with a Sharpie across any couplers and the shaft they're attached to. Then run your program again using a piece of scrap material and check for discontinuity in those marks after it's done. Often it's a setscrew that allows the coupler or pulley to shift a little side-to-side, without ever appearing to be loose.