Hm.... your highest GMAT Prep/MGMAT score is 720 and your GMAT is 680... that's within the standard error of the GMAT.
I would say a few things:
1. Your score does not suggest you must perform better if you retake it; if your scores were 740+, I would say then yes, but you may be just impacted by the test center stress more than others. Thus you probably can increase your score by 10-20 points by just sitting the second time, the most improvement will come from studying.
2. If you are applying to a highly competitive program and this is the best use of your time then sure
3. I would not take more than 6 weeks for the retake. You have to make sure you allocate enough time for the essays (what if you get sick or something else happens and you score 650 on the retake- that's possible and you have to have a plan for that).
Otherwise, you are doing great - keep the little things in mind - that's what counts on 700+ score and then add up to big numbers.
- BB.
_________________
Founder of GMAT Club
Just starting out with GMAT? Start here... | Want to know your GMAT Score? Try GMAT Score Estimator
Need GMAT Book Recommendations? Best GMAT Books
Co-author of the GMAT Club tests
Find out what's new at GMAT Club - latest features and updates