Are you getting any error messages? At first glance your code seems fine and it should stop at frame 1. But if you are getting error messages, then flying thru the timeline is one symptom of an error in the file's coding.
Maybe what you can do is start from the start and comment out the remaining frames' code until you narrow down the problem. GEt frame 1's code to work, then frame 30, etc....
To comment out an entire section of code you can use ... /* all the code */
You might also want to check to make sure your publish settings are set to be using AS3.
Thanks for looking....but have just realised the error of my ways!! I had a set of buttons duplicated identically which must have messed things up. As soon as this was corrected, then it publishes with stops.
Interestingly though, this doesn't show anywhere as an error. Unless there is somewhere where I can see duplicate errors?
I'm not sure why it ran the timeline then. If I recreate the basics of the scenario, it stops on frame 1 and the object that is sitting highest in the display list gets the listener. In any case, you've solved it.