Fixture recall alignment

Fixture recall alignment

I'm probably overthinking this, but I'm hoping for some input on if I'm on the right track or if there's a better way. I do almost all of my programming offline these days, we probably have hundreds of programs. I want to get to the point where I can place my part in my fixture and press start, with little to no human interaction.

The fixture I am planning on using is a repurposed rail that I had the shop drill a series of holes 1" apart, that I can place a stop pin into based on where I want the part to sit in the machine. Most parts can be placed all the way to the left, but some parts that need to be measured on multiple sides may need to be more centralized in the machine volume. I have also started investing in some Rayco fixturing for more complex setups, with the thought that I can bank the smaller Rayco plate/fixtures up to my rail fixture, and they will be in a repeatable location.

I have a programming process that I'm pretty happy with, but I am wanting to add (I think) a "recall fixture reference frame". I also am thinking I want to add the VB script that prompts for a manual alignment if necessary, as the shop is not always consistent with with operations/stock are on the parts, so they may not bank up to the fixture the same every time.

I have attached a picture of my rail fixture and a small program that I think is the general process flow I want. I am not quite sure if the "Recall Ref Frame" should go before or after the "Sync Part Ref Frame". Also, I think I might need some more CAD syncs in there as the CAD on screen wasn't quite keeping up with some of the reference frame changes. 

What do you guys think?
Fixture
Example Prog