OnObjectExit is a "before the event" script trigger. That means that when you trip this trigger, the script runs first and then FileMaker processes the event that tripped the trigger once the script has finished executing. So for OnObjectExit, if you press a key such as tab, return, or enter to exit the field, the script will run and then FileMaker will process the event by putting the cursor into the next field of your layout's specified tab order. That's why you can't find any code that puts the focus there and why, if you try to use go to field, or another such step you don't find the cursor where that step put it. FileMaker DOES put the cursor where specified, but then the script finishes and that event gets processed and the cursor is moved again to the next object in the tab order.
But you can keep such triggering events from being processed with "before the event" triggers if you make this script step the last step in your script:
Exit Script [False]
To find out which triggers are "before the event" and which are "after the event", see "Setting up Script Triggers" in FileMaker Help where you'll find a handy chart listing all available triggers and identifying which category they belong to.
You sir, are Legend!
Thanks for the fast response. I didn't know each layout had a tab order, and sure enough that was the issue.