Lo que pasa es que no has creado un listener para la función 'click'. Esta nunca se activa, y por eso nunca adiciona el listener de 'moveShot'. Esta es mi impresión. Pero a la función 'click' también debes ponerle un listener. Como jamás entra en 'moveShot', jamás entrará en 'click'. Claro que puedes añadir un listener a algun objeto que no sea el stage. Pero una función enterframe no se la pones a una instancia. El enterframe funciona de forma independiente a los objetos, actua con relación, digamos, a la línea de tiempo principal.
Si quieres, revisa este link de mi nuevo blog...
http://as3ideas.com/2009/10/03/%C2%B...stener-en-as3/
Espero te ayude.
Un saludo.
Eskombro