The OnObjectModify trigger fires before the OnObjectSave trigger...which in my mind is probably the reason.
It may be that there was a change in the behavior (although I don't see anything in the FM knowledge base)...or it was a bug in 10 that they "fixed".
And if I'm wrong...I'm sure someone will correct us.
I've just modified the tab and triggered an OnObjectModify event. I can't imagine why a script run based on an OnObjectModify event would reject the modification. Especially in this case, because an OnObjectSave trigger is not activated by a tab change. I sure hope this is a bug worth fixing and not a "feature", because I can't think of a workaround.
This appears to not be a problem with the script trigger, it's a problem with the New Window command. Any New Window command issued will display the default tab. I wonder if this is on purpose. I hope not.
A work around is to use the inspector to give each tab a unique object name. Then you can use Go To Object to select a specific tab in the tab control from your script.
Once you've named your tabs, it may be as simple as adding this single Go To Object step at the end of your scripts to get them to work for you.
I would probably even use a script parameter to grab the object name to drive the Go to Object step.