If you are using an OnSetText script to play an animation, and the text object is a published text object, then that object gets set when the scene is prepared to go online. This will trigger the animation to play when going online.
You could add a check to your script that checks if the scene is already online or not to decide if it should play the animation.
Like this:
dim sd as xpSceneDirector
if Scene.IsOnline then
scene.GetSceneDirectorByName("SceneDirector2", sd)
sd.PlayRange(0,150)
end if
This is all purely guessing though, since you haven't showed us what you are doing or the modifications you've made..
#XPression