Decent for a first attempt. Nice job with the medals too. Now to the feedback:
I know the demo game on flixel's website (mode) uses the keys Z and X for control, but I really think that since you only have one button to shoot, you might as well use spacebar.
You didn't add a mute sounds button, but just to let everyone know - flixel has a built in volume control (press + and - keys to adjust).
Also, you might want to disable key input while the game is restarting - just tap the R button rapidly and you'll know what I mean.
Now to the code - I think you should add an in game variable to determine if a medal has already been unlocked, before attempting to make a call to the NG API to unlock it. For example, you unlock the "First Blood" medal whenever the function overlapAlienBullet is called. Even though the medalPopup doesnt appear, it still adds an overhead to the game. Just a tip.
P.S. You can actually use FlxG.random() instead of Math.random().