Hi themurr,
Glad to hear you love PixelCNC :)
Are you setting the project's machine origin to the same place you're zeroing your machine at relative to the workpiece?
There could sometimes also be work offsets that aren't being cleared, I've experienced that a few times. If you're absolutely sure your machine origin is set where it should be relative to where you're zeroing your machine, you can clear work offsets by adding a G53 command at the top of a G-code file and see if that fixes the situation.
Charlie