Okay, I took a look at the missions and you'd basically made a couple of silly mistakes which were causing the problem. While I could just flat out tell you what you did wrong, I think it's better if I just hint and put the actual solution in spoiler tags (When it comes to debugging I strongly encourage teaching someone how to do it instead of simply doing it myself).
Mistake 1)
This is in the first half of the FLUSH event ( A repeating event)
when
- >
--InLaunchTube[1]
--0
-when
-- =
---InLaunchTube[1]
--- 1
--play-sound-from-file
--set-camera-shudder
--set-mobile
--modify-variable
---InLaunchTube[1]
---0
-when
-- =
---InLaunchTube[1]
---2
--modify-variable
--set-object-speed-z
The second of the inner when SEXPs is what actually launches the viper and it's not actually being triggered. Look at the rest of the SEXP and you should soon see why.
The first inner When will set the value of the variable to 0 instead of 2. As a result the outer when will always fail from then on.
Mistake 2)
You'll only see mistake 2 once you fix mistake 1 and run the game. The problem is caused by your velocity going up too slowly because you've forgotten to do something.
You forgot to set the interval time to 0. It's currently set to 1 which means that the viper will get 1 metre/second faster every second rather than every frame.