I believe that you should be able to make this work properly by using an OnTimer script step to invoke your clean up routine.
The OnTimer will stay out of the way of the current thread and, with a sufficient delay, this will allow the Snapshot link to be completely opened before your clean up code is invoked.
If you are unsure that you can fix a good value for the delay, you might be able to make the clean up code smart enough to check that at least two windows are open before it performs the cleanup. If that is not the case, then the clean up code could simply set a new OnTimer.
If any of this is unclear, please let me know. I can attempt to clarify and/or attach a simple sample file.
ValueCount ( WindowNames ) will tell you the number of open windows.
Your clean up script could run a loop pausing for 1 second during each loop and exit the loop if more than one window is open. then it could close the splash screen.
This works OK, but only if the "Open url" is the last script step in the startup script - took me some time to work this out.
Thanks for the help