OK, here is where I am at on this. I have modified the REF ALL HOME script to ask me in a pop-up window if I want to define home from the absolute data in the servo drives or if I want to execute the normal homing sequence. If I choose normal, at the end of the sequence it asks if I would like to define the home position in the drives as well (which I answer YES to unless the homing failed for some reason). If I opt to restore the position data from the drives, the data is read, converted from hex to decimal, and written to the current position in Mach. I have not yet implemented the home in place to mark the axis as homed.
What I noticed is that the API call mc.mcAxisSetPos() only sets the fixture offset and not the actual machine position (which now as I just looked is what the documentation says - doh!). I think what I need to do is: change mode to home in place, read servo drive position, copy that position to the home offset, then home in place. Since this method can be completed when the machine is in any position, I can't guarantee I will be sitting at 0,0,0. What is pretty neat is I can enable and disable the motors as much as I want and the position data reflects the minuscule changes in shaft position as the motors get energized and de-energized.
BTW, if anyone is interested, the servo drives are AB Ultra 3000's and I created an interface to the drives over serial (RS485) using the drive's host commands. Took a while to develop, but the serial interface through Mach 4/LUA is really solid and this communication seems bulletproof.