Most efficient way to navigate to the new layout

You could use a simple (or even the more recently Claris-codified) transaction processing methods.

FitchandFitch.com did a page on "Modern Commitment" which is a very simplistic version of transaction processing - compared to the new Claris stuff that is far more comprehensive. The basic concept is to intercept the commit using the OnRecordCommit script trigger and NOT allow that to process UNLESS there it is running from a script. As such, IMPLICIT commits (clicking outside of a field/portal) will not commit the record.

The simple script:

Set Variable[$param ; Value: Get(ScriptParameter) ] 
If[ IsEmpty( $param ) ] 
  Exit Script[False] 
End If

And in the scripted commit (close, save, whatever), you can assign a parameter of "Get (ScriptName)", which would only be true if executed from a script.