I would agree with the last comment, but I would also check that the step signal polarity is correct as well. You don't say what your motion controller/BOB is, but particularly if you are using differential signalling (which is a good idea if your hardware supports it) it is possible to get this wrong. However, you do need to find out if your missed steps are coming from hardware or electrical problems. Generally, hardware/mechanical problems are worse with increasing load while load doesn't make much difference to electrical problems. So, try air-cutting with a short piece of gcode that just moves one axis backwards and forwards say, 50 or 100 times and check that the axis returns to the same position at the end. I used a dial gauge to check - the gcode moved the axis off the gauge, did the back and return moves away from the dial gauge, then moved back to the original position to check the gauge reading. Keep the speed and acceleration down to avoid mechanical issues. If this does not show any problems, then either your speed and/or acceleration are causing missed steps by overloading the motors, or there is some other mechanical issue like a slipping coupler or something like that.

Good luck - this kind of thing can be difficult to diagnose but check systematically and carefully, trying to check just one thing at a time. I had exactly this kind of problem with my Z axis. I didn't see any problems with "normal" cutting where Z only changed direction a few times, but when I started doing intricate 3D work the zero position gradually drifted. In my case, it was the step signal polarity, but the symptoms could have been something like a slipping coupler. It was only careful checking that found the problem.