I was enthralled by it until it turned into a shooter. I think you'd be much better off doing a platformer. The shooter part didn't hold me for very long. Since it's just a demo I don't really know what rating to give it, but if it was a full fledged game I probably would have just skipped commenting or rating since I closed it right after the gameplay started.
If you're going to stick with the shooter, it's generally a bad idea to limit the ammo the way you are. I tried that on my first shooter, too, and in testing no one understood why the gun suddenly didn't work. ("The gun is glitchy, it just stops working randomly...") You'd be better off doing limited ammo on a secondary weapon, or making the game more tactically oriented - rather than action oriented - and limiting the number of shots. Right now you're kind of in an awkward middle area.
Also in a shooter like this, you should focus on how you want the player to play the game. Are they supposed to hit every enemy, or is it just a clusterfuck that you have to dodge through and the weapon is more of a shield. Here, too, you're in an awkward middle area. If you're supposed to hit every enemy, you should have a money/score system that rewards you for each hit and links to upgrades that make it easier to kill more enemies. If it's a clusterfuck, then you need tons of enemies or bullets moving in predictable patterns so the game becomes about dodging and sniping whatever is in your way. Rewards should be given in this option for distance traveled, where hitting checkpoints is tied to an upgrade system that makes dodging easier. There could be other play-style options too, it's just important to think about what exactly you want the player to do.
Lastly, protip on using bitmaps in flash: Either turn on smoothing (Library Properties -> Allow Smoothing) or make sure your bitmap is always on a pixel and not halfway between. I just use Math.Round() to snap it to the nearest pixel. That'll get rid of all the funny jumping around and image tearing. Smoothing eats up CPU and snapping it to the nearest pixel won't move as smoothly when it's going slow, so you usually have to decide which tradeoff you want.