Ah-ha, it IS possible! I was a bit confused initially, betwen G92 offsets and WORK offsets. I didn't realize how they were different.
This allows me to start with a G92 offset and offset angle (used when the stock doesn't totally line up with the axis), and restores them when done.
The only thing is, if you see a problem in the run, pull a Stop, and then start again from the beginning, you will have corrupted offsets. If you didn't have any G92 or angular offset to begin with, then can just zero them and restart. As such I'd kinda recommend not setting up with stock with G92 offsets but by setting the Work offset, and avoiding using the angle if you can.
This took way too many hours to figure out...
Code:
#100=#5211 (initial G92/G52 x-offset, #5211 is a Mach3 system param)
#101=#5212 (initial G92/G52 y-offset, #5212 is a Mach3 system param)
#102=0 (incremental rotation, Mach3 will not provide the initial offset so there is no way to figure it out, but by doing incrementals and recording the change alone, that'll allow us to work off it and restore it)
#10=0 #11=0 #12=90 M98 P5
M98 P2 (O2 is the part to be repeated)
#10=[#25] #11=-50 #12=-90 M98 P5
M98 P2
#10=[#50] #11=0 #12=90 M98 P5
M98 P2
(cleanup at end)
G52 X[#100] Y[#101] (restore original G92/G52 offsets)
G68 a0 b0 r[-1*#102] i0 (undo any previous inc rotation)
M30 (end of program)
O5 (Step, Rotate, and Repeat Offset)
(#10=x offset, #11=y offset, #12=angle)
G68 a0 b0 r[-1*#102] i0 (undo any previous inc rotation)
G52 X[#100+#10] Y[#101+#11] (XY stepping)
G68 a0 b0 r[#12] i0 (set inc rotation)
#102=[#12] (remember new inc rotation state)
M99