Jeff - You may kow a lot of this - but here goes -
Your machine needs to know where it is. The professional way it to have switches fitted on the machine, then you just say to the machine "Ref all home" and it does. It sets all the DRO,s to zero. This position is 0,0,0 in machine co-ordinates and shows on the DROs when the Machine Co-ordinates button is pressed and the button is illuminated. You can only zero machine co-ordinates by using the "Ref all Home button". The button zero,s any DRO that does not have a home switch designated, and it moves any other axis to the switch, and then zero'0 the DRO if it does have a home switch.
This position could be anywhere, and is probably not a convenient poisition from which to start machining, and will probably not be the start position from which your GCode position was written. We will assume that position is in the centre of the table, and you have fitted some studs, poking up from the table, onto which you put your workpiece. (All the other workpieces you are going to machine also have stud holes and will fit in the same position)
The GCode is written to start at the bottom left hand corner of the workpiece - which the program knows as 0,0 (X and Y). Z0 is the top of the workpiece.
To reconcile the two is the job of the "offsets"
You start with your machine and "Ref all Home". This sets the Machine Co-ordinates to 0.0.0. and the machine knows where it is.(If you have limit switches - and your Z is homed to the top of it's run) You then jog your machine to the start position for your work. At this stage note the readings on the DROs. Press the Machine co-ordinates button and the button surround will go out. The DRO,s will not change BUT they are now showing "work co-ordinates or program co-ordinates" and can now be zeroed. If you zero them, they will change to 0,0,0 - in line with your program.
You can now start the machine and away you go. - What have I achieved you ask - well you have the "offsets" which you noted.
You can enter the offsets in the offset table - I don't bother with the offsets page - I put them straight in the table. Offsets are numbered G54 to G59 - and G59 has 255 sub groups so there are plenty. We will assume that you enter the offsets for this program in G56.
When the man presses the Fire Alarm you say "Up your's" and walk out. When you come back you press the button for Machine Co-ordinates and " Ref all Home" - the machine knows where it is (quite important because E stop sometimes causes missed steps).You then enter the "offset" on the MDI (G56) and switch to program co-ordinates. Tell the machine to go to G0 X0Y0Z0 and the machine will move back to the position that you started machining. Start the program and away you go.
The offsets can be made fully automatic, in that they can be entered in the program. The program can "Ref all Home" and then enter the offsets. You can, at the end of the program, change to "Absolute Co-ordinates" (another name for Machine Co-ordinates) and move your tool out of the way of your work. If you change your workpiece by mounting it on the studs I talked about, then start the program again, the machine will reference itself, move to the work, cut it, and then return, ready for the next one.
To clear up any more problems, have a look at the tutorial on Co-ordinates, which deals with the subject step by step.
The toolpath display on Mach 3 is very good and I find it a great help when writing programs. It does respond to the "program" entered in the GCode - i.e. it takes its 0,0,0 position from that. What you must be careful of, however is the position of your Machine/Program co-ordinates button - and if you press this, then also regenerate the toolpath. There are some errors in the display, however, particularly when dealing with osffsets and sub-programs, so don't take it as gospel.