Sorry to hear the bad news, McFly. For starters, you can definitely do better with a retake--it's just a question of how much effort you're willing to throw into it. You can always improve. Don't let one crappy day at the test center get you down.
And for what it's worth, a 650 isn't bad. Your verbal was solid, if not quite as high as your GMATPrep scores, and the quant wasn't a complete disaster, either. Think of it this way: if you made a very small handful of unnecessary errors at some bad moments early in each section, you can easily lose a few points. If you'd scored three points higher on each section, you'd feel very differently. My hunch is that you can gain those three points--or perhaps more--by continuing to hone your skills and by becoming more consistent. Again, one crappy day doesn't prove that you're incapable of doing better.
The dropoff from your GMATPrep tests
is unpleasant, but not all that unusual. Is it possible that you had seen some of the GMATPrep questions before, either because you'd taken the tests before, or because you've seen some of those questions in another resource? Generally speaking, I trust GMATPrep results far more than MGMAT results, but there's a pretty decent discrepancy between the scores, and it's interesting that your actual test results looked like your MGMAT tests. Maybe the GMATPrep scores were biased?
The other possibility is that you just suffered from a little bit of the jitters on test day, even if you weren't completely conscious of it. If you make a few errors that you don't normally make, it can really hurt your score. This sort of thing is even more common if it's your first time taking the real test.
I can't blame you for feeling disappointed, but you're still not that far from a 700... and there's plenty of reason to think that you'll be able to improve for your next battle with the beast.
Good luck with everything!
Helping students kick the GMAT in the nuts since 2002... http://www.gmatninja.com.