Crazy delay when using setInterval more than once?

Ok I am having some major headaches with time delays. Basically, I have the following function to delay a frame, then go to the next:

[AS]
// Delay next frame
function unpause() {
gotoAndStop(_currentframe+1);
clearInterval(my_interval);
}
[/AS]

So I have 3 frames - on frame 1 I have:

[AS]
// resize mask
mc_maincontent.resize(485, 280, 6);

// delay playing of next frame
my_interval = setInterval(unpause,1000);
stop();
[/AS]

on frame 2 I have:

[AS]
// fade out white
mc_white._alpha = 100;
mc_white.fadeout(0, 10);

// show ring
mc_ring1._x = 200;
mc_ring1._y = 500;
mc_ring1.pos(200, 350, 60);

// delay playing of next frame
my_interval = setInterval(unpause,2000);
stop();
[/AS]

on frame 3 I have:

[AS]
mc_ring1text.fade(100, 10);
stop();
[/AS]

Basically I have split my movie into different frames - so I can run specific functions to aid my animation. This is all in a movie called “gallery.swf”. Now, I have a button on another movie that loads “gallery.swf” into _level3 as so:

[AS]
on (release) {
loadMovie(“gallery.swf”, 3);
}
[/AS]

Now as I said, the first time I click this it is ok - however, it I then click it quickly in sucession like a madman or click on another menu item which loads a different movie into _level3 before my “gallery.swf” movie has finished playing, everything goes mental - things loop and nothing is timed as it should be - I am using the delay function in all of my swf movies - is it because I am calling the same function many times?

Do I need a clearInterval(my_interval); to be run on the button so it clears anything leftover?

This is really halting my plans on this movie, any ideas?

Cheers,
Chris