Thank you for your in-depth answer. Sorry I haven't replied earlier. I haven't been able to work on this for a few days.
Regarding this question you asked me:
Now, as far as when you unselect T2, do you still have it as "G1 X-75 U365 F6000" OR "G1 H2 X-75 U365 F6000" ? I tested my tfree2.g by having it go a few mm off the homing position, and it worked as expect (i.e. it went to U365 and NOT U368.7).
At the time you asked the question, my tfree2.g was like this:
G91 ; relative axis movement G1 Z3 F500 ; up 3mm G90 ; absolute axis movement G1 X-75 U365 F6000 ; park the X and U carriages
However, I have just tried playing around with the U value of the G1 command and found that with U215, after unselecting T2, the U carriage moves to its parking position and reported position is U=365. i.e. works correctly to me.
My possible explanation for this is that this command in tfree2.g is executed still with the offsets applied. As a reminder, my G10 command for T2 is: G10 P2 X0 Y0 U-150 Z0. So, 215+150= 365.
Also, I haved tried adding the H2 parameter on tfree2.g but the carriadges kept crashing onto the ends. I guess that by playing around a little I would have found a value that also ended up with the carriadges parked in the correct position, but went the other way instead.
I think I am going to leave it like this for the time being.
Also, I have another question. In my tfree2.g, Z is raised 3mm. The machine does so correctly. However, after finishing releasing T2, it moves the Z back down. Is this something done automatically by RRF?
Thank you once again.