I have been thinking about this and the best solution I can think of would be to remove your timeline and use a timer to "watch" the progress of the video. That way pausing it will not cause any actions to happen at the wrong times.
Some example steps:
Add a new publication variable; for example "VidPos"
Add a Ticker trigger, firing every half second or so, to any visible object.
To that trigger add a Script action with the script:
Code:
VidPos = Video1.GetPosition();
in it (where Video1 is the name of your video object).
Then add a series of If/Else statements:
Code:
if (VidPos == 20)
// Do the things necessary at 20 seconds here - you could have a timeline for each key point and start that or just put the actions directly here
else
if (VidPos == 45)
// 45 seconds
else
if.....
else
....
and so on for each event. You could script the if/elses if you are comfortable with that but it's not really necessary.