I'm running a program that I've run previously but with different results. I'm turning a sleeved adapter, boring the ID then turning the OD, the boring works as it's supposed to but the OD turning has odd and wrong results, it worked in setup and then got different results I turned the setup piece and then adjusted to OD by .0025 and things went wrong that I've not been able to correct.
Part of the programming in question is below.

%
O0200(SHAFT-ADAPTER)
/G00 G20 G40 G97 G99
/G00 G28 U0. W0.
/G50 X0 Z0
/G0 X-8. Z-5.(Z-8.)
.
.
.
.
N100/G28 U0 W0
/G50 X0 Z0
/G0 X-8. Z-10.
T0500 M8(3/4-TCMT331-BB)
G50 X4.5000 Z3.6430 S1000
G00 G96 X.875 Z.5 T0505 S500 M03
G00 G41 Z.1
G71 P1 Q2 U.02 W.01 D0500 F.015
N1 G00 X1.075
G01 Z0.002 F.008
X1.014
X.9843 Z-.015
N2 Z-1.665
G70 P1 Q2
G00 G40 Z.5 M09
G0 X4.5000 Z3.6430

N200/G28 U0 W0
/G50 X0 Z0
/G0 X-8. Z-10.
T0400 M08(CCMT332-OD-TURN)
G50 X2.6500 Z6.0500 S1000
G00 G96 X1.55 Z.5 T0404 S500 M03
G00 G42 Z.1
G71 P3 Q4 U.02 W.01 D0500 F.015
N3 G00 X.90
G01 Z0. F.008
X1.22
X1.25 Z-.015
Z-1.175
X1.4673
N4 X1.54 Z-1.208
G70 P3 Q4
G0 G40 Z.5 M09
G0 X2.6500 Z6.0500

The ID turning works as expected but the OD tool takes passes at 1.4700, 1.3700, 1.2700, and semi finish pass at 1.2700, the g70 pass is at 1.2812 if i have radius comp at .0156 and 1.3124 if it's set at .0312. It seems to be reading the cutter comp in some odd way.
I can't see what I'm doing wrong or is it a machine/control problem?