I'm not saying it's the perfect solution, but the ball-squashing isn't going anywhere. This game started out as a prototype around the APE physics engine, and one of its limitations is that collisions tend to break down at high speeds. The "squash" actually occurs when a filler ball lands perfectly in line with a bouncing ball. Because there's no tangential component, the collision can't squirt the ball out to one side or the other... it sort of hyperaccelerates it through the floor. I thought having balls disappear entirely was too easy, so I check for it and reintroduce them in the same place every time... meaning it's something you can learn to avoid. As for the memory leaks: I've never made it past Level 20, so I haven't run into them yet. =]. If lots of people are seeing this, I'll code myself some "jump to level 50" cheats so I can try to fix it a bit.
The production value's great (menus especially), but the game's just not very fun. I found the mouse-look/keyboard movement very clunky.
You should refactor it so that movement is player-relative, meaning W/UP is move forward instead of move towards the top of the screen.