RIley I have developed a WORKAROUND for you that makes sense. We have to get creative and shift the Fixture offset BEFORE you leave the sub. Then it will work every time. The only limit IS you have to make sure all the fixture calls are in the same order of progression as the #var formula to index up the number. NOte that it starts with G54 then each loop indexes the G54 UP 1 number G54,G55,G56,etc. IT will not allow you to randomly switch Fixtures but at least it does give you an Option with TC and fixtures.
I have narrowed this problem down to a very specific area in MACH3 that should not be hard to find(;-).
N0000 (Filename: TCtest.tap)
N0010 (Post processor: Mach3.scpost)
N0020 (Date:09/16/11 Time:11:36:09 PM)
N0030 G20 (Units: Inches)
N0040 G40 G90 G54
N0050 F1
N0060 (Part: TCtest)
N0070 (Operation: Outside Offset, 0, T1: Mill/router, 0.5 in diameter, 0.02 in Deep)
N0080 (Intake)
N0090 S1000 G00 Z0.5000
#100 = 54
N0110 (Mill/router, 0.5 in diameter)
N0120 T1 M06
N0140 S1000 M03 F30
%
G0 X0Y0
M98 P1 L4
M30
%
o1
G0 X6 Y1.799
M8
N0100 X6.000 Y1.799
N0001 G41 D1
N0150 G00 X4.8900 Y2.4278
N0160 Z0.0197
N0170 G01 Z-0.020 F10
N0180 G01 X4.2500 Y1.7878 Z-0.0200 F30.0
N0190 G01 Y0.0000 Z-0.020
N0200 G02 X4.0000 Y-0.2500 Z-0.0200 I-0.2500 J0.0000
N0210 G01 X0.0000 Z-0.020
N0220 G02 X-0.2500 Y0.0000 Z-0.0200 I0.0000 J0.2500
N0230 G01 Y4.0000 Z-0.020
N0240 G02 X0.0000 Y4.2500 Z-0.0200 I0.2500 J0.0000
N0250 G01 X4.0000 Z-0.020
N0260 G02 X4.2500 Y4.0000 Z-0.0200 I0.0000 J-0.2500
N0270 G01 Y1.7878 Z-0.020
N0280 G01 X4.8900 Y1.1478 Z-0.0200
N0290 G00 Z0.5000
N0300 G40
N0310 G00 X6.000 Y1.799
N0320 M09 (Coolant off)
#100=[#100+1]
G#100
N0330 M99
%
Hope that helps, (;-) TP