Wow, awesome replies this time!
I must have finally explained it clearly enough becuse some of you are getting it now. It can be frustating when one askes how to paint their car red and the replies are not how to do it, but that red sucks and you should not want red.
SetMachZero(3) is the magic pill I was looking for. That should allow a program of any length to run.
Someone mentioned I could make a macro to create a 'continuous' run mode. That is exactly what I have been wanting some help with, as I am no Mach guru by any means. Until such time as Mach impliments such a feature, I have to go with work-rounds. I don't know how I can be more clear that swap axis is NOT an acceptable solution for my needs, so I am not going to discuss that any further.
Speed and the mechanics of the 4th axis is not part of the question. That is already worked out, tested and functioning fine. Mach seems to have homing for the A axis, so if that is functional (I have not tried it), then that is a non issue. I would be happy to answer any questions about the mechanical aspects of the existing (currently up for sale) or planned new 4th axis rigs, but I don't want to distract right now from what is at issue, which is the programming.
So, I feel that there is understanding of the objective now. Just down to discussing the best actual macro code. I am very familiar with programming and the concept of scripts, but I am a novice at G-code and Mach3, so that's where I would appreciate some guidance and assistance.
Actualy I now have enough pieces of the puzzle to complete what I need, but I wuld still welcome some more detailed discussion about the specifics and options if anyone feels so inclined.
One specific that was presented was code that repeated A360 over and over, but while that is valid, it would only work in incremental mode and it does not solve the problem of accumulation of machine coords for the A axis. The function SetMachZero(3) would theoretically solve that. That is the key piece of the puzzle.
So, for the scripting gurus out there, what needs to happen is to create a new command that reads the system variable that stores the feedrate in dist per rev. Then take the commanded X move and do the very simple math to calulate the number of degrees the A axis must turn to accomplish that feed rate over that distance and aseemble and pass the appropriate command to Mach.
The machine coord of the A axis could be zeroed after each move or the accumulation monitored by a brain (I think) and reset to zero upon reaching a specific number.
More sophisticated features would be to distinguish between a turning pass and a threading pass and force multiples of 360 for threading passes.