I would set up home switches. On my lathe/mill I have two lasers on the table (cheap from Maplin at £10 each) they are on adjustable mounts to get them parralel with the table.
They shine onto detectors that are mounted on the body of the lathe. The detectors are four wire devices, Schmidt trigger, and give a very fast, clean signal. The big advantage is there is no physical obstruction in the machines path. so if this goes astray, it doesn't wipe out all your switches. A further advantage is you can mount as many detectors as you wish for each laser to stop the table in a number of different places if you want to.
If, when you turn it on, you then press "RefAllHome" on Mach the machine will move to each switch in turn, and stop there. It then resets the Machine Co-ordinates DRO's to 0,0,0. It is doubtful this will be in such a position that you can machine from it (although with laser detectors you could position them in such a way as to do so).
This is where offsets come into play. Each program will be written with a 0.0.0 position convenient for that program, and therefore, you must put an offset command - G55 to G59 (+250) to bring the table to the correct position for the program, from it's home position.
This sounds a bit daunting, but actually takes less time to do than to describe.