I think you have encountered a common problem with script triggers. A given script can easily trip script triggers that then perform other scripts which interfere with the first script. A classic example is when a script changes layouts and then OnLayout Enter, OnLayoutExit, OnRecordLoad, OnObjectEnter, OnObjectExit all might be tripped by the layout change.
I have developed the habit of enclosing my trigger controlled scripts in the following If block:
If [Not $$TriggersOff ]
# put the rest of the script here
Then if I have a script that needs to keep from tripping triggers, I use this code:
Set Variable [$$TriggersOff ; value: True ]
Put steps that might trip a script trigger here
Set Variable [$$TriggersOf ; Value: False ]
In other cases, I can avoid tripping triggers by using Go to Layout to go to a "utility layout" based on the table I need, but which has no script triggers defined and which is hidden from the layout drop down in the status tool bar so that users can't access it.
Perfect, thank you Phil!