Hi, you haven't said whether you are using the FLVPlayback component or handling the video yourself. If the frame you want to stop the video on is not the the last one then you would be better off using cue points. You create those using the Flash Video Encoder which you used to create the FLV file.
A cue point is a kind of marker you put in the video, there is nothing visual about it. In Flash you can then listen for the cue points. Each cue point can have a name so that you can then do different things depending on which cue point was just reached. A typical usage would be to play a video up to a certain point, then it hits the cue point and stops to allow the user to perform an action like answer a question or read some text in the video. Then they press play to carry on.
As I mentioned before, you first create the cue point using the Flash Video Encoder and then you can listen for it with AS3:
You can read more about cue points here on the Livedocs page
Using the ENTER_FRAME event won't really help you since videos run at an independent frame rate than the rest of the Flash file. You could use the ENTER_FRAME event to keep checking the playheadTime
property of the video but you won't be able to guarantee that it stops exactly when you want. That is one of the main reasons you would and should use cue points.
if(SMB3video.playheadTime >= 5000)