Ok, still goin.
In your parameters, look at Parameter number 0012. AICx (bit 4) should be 0.
if bit 4 (AICx) is "1", the control sees every axis command as Incremental, not absolute (you want absolute).
My shell program I sent you should work fine if you take out my Macro Variables (the #100 things) and replace them with Absolute values. Just refrence the macros at the top of my program to see what to change, so replace all my #110's with your stock size and appropiate chamfer, #115 with your turned diameter and so on. Everything else should work. You might have to replace M13 (spindle on coolant on) with 2 seperate M codes (probably M3 M8) if your control is too old to support M13.
Your problem seems to be 1 of 3 things in my mind:
1; your control is doing everything incrementally. This is a paramater that I refrenced above. The parameter # might not be the exact same (Im getting my info from a 16i/18i parameter manual), but Fanuc has not changed the low level parameters (1-1000) much at all over time since they are common to almost every machine. Get a parameter manual for a O series or whatever you have just to confirm but I bet parameter #0012 bit 4 is the ticket.
2; Your Z axis is not homed correctly. Although, usually when this happens you can jog the axis into a hard stop (read as "crash into the end of the axis stroke" or "crash into something due to overtravel - or +" that results in a "servo excess torque" alarm.) So if you can jog your Z to soft overtravel both + and - without a servo alarm I doubt the Encoder Home Position is your issue.
3; Some controls have a G code for incremental programming. Double check all the G codes to make sure they do what you think they should do. DONT trust the Fanuc manual. Only trust the Tsugami manual. If you dont have the one for your specific machine contact REM sales (the tsugami distributor for the US) and they should have the g code list for your machine.
Hopefully someone chimes in with whatever im missing. You may want to post this question with all the details in the Fanuc section since it sounds like its a control related issue, not a swiss specific issue.
EDIT
Our regular machine tech stopped by today and I asked him about your problem real quick and he also thinks that its a Parameter issue. he said once the axis movement starts, its a parameter that tells the control when to stop, so since you start moving ok but over travel every time it has to be a parameter issue. I cant help you with that. Probably time to call a Tsugami tech if you havent already. Or at least contact REM and see if they can send you a default set of parameters to try. If you modify anything be sure to create a Parameter Backup before you mess with too much.
CNC Product Manager / Training Consultant