I FOUND YOUR BUG!!! Just thought of this as I woke up. Can't believe I didn't realize this last night(er...this morning).
Inside player.as you have:
private var friction:Number = .8;
Then at the end of player.update():
this.vx *= friction;
this.vy *= friction;
Your friction is very high for player and will only restrict maximum downward velocity, but not upward velocity!
On the way up, you have:
vy = -30, (-30+0.8) *0.8, ((-30+0.8) *0.8)+0.8) * 0.8... so on until player is going downward
which is = 30, 23.36, 18.048...
But on the way down you have:
vy = (0 + 0.8) * 0.8, ((0 + 0.8) * 0.8) + 0.8) * 0.8... So on, but only until vy == 3.2
Because (3.2 + 0.8) * 0.8 == 3.2 !!
Your vy downward can never exceed 3.2, but your vy upward is way higher than that, like 30, 23.36, 18.048...!
That's why you have a very fast jump upward, but very slow fall downward!
If you change the player's friction so that
0.8 / (1-friction) >= 30
which is:
friction >= 0.973333333...
Then your current code will produce a nice parabolic jump!