When resetting a game, all you're really doing is resetting the variables and returning to the desired graphical state. There is no golden answer to what you're asking for, it totally depends on your game and structure.
I usually implement a resetAll function that i can call whenever.
if your code if frame based, you can try
//Object(root) or whevever you store your game stuff, e.g root.map
for (var prop in Object(root)){
delete Object(root)
}
//that deletes everything, then you can go to the first frame or the frame to load that level or whatever to start the game again.
__________________
PseudoActionScript Console: Control your flash movie, at runtime, using 'actionscript'.
But if you delete everything like that, I think there's a risk the EventListeners will still keep running, so you should remove all them first, then add them to your newly created first frame.