Your difficulty is coming from the fact that the OnObjectExit trigger fires before the event that triggers it. So here's the sequence:
- User tabs to go to the next field.
- Trigger fires.
- Script executes, terminating with the focus in the field you desire.
- Tab event fires, placing the cursor in the next field in the tab order.
In other words, the normal "go to next field on Tab" event that always fires whenever the user presses Tab (or Return or Enter, if you have it set up that way) is overruling your script. To fix it, I suggest changing it to OnObjectSave, which fires after the triggering event.
Add Exit Script [ False ] to the end of your script.