If your dream is to do well on the GMAT, and you obviously have the ability to, I would recommend a retake as soon as possible.
You have to push through. Here is the biggest quote I saw in your post:
Quote:
I didnt sleep but 2 hours before and got tied up on some math problems early..
WELL DUHHH! You didn't sleep, that is a huge problem. 2, you got caught on math problems early, that is also a huge problem. If you mess up timing on either section you will get crushed by the GMAT. If you spend 10 minutes on 2 problems, you are DONE. You would have been better off giving up and guessing on those. You didn't give yourself a fair shot on the rest of the problems.
You have the ability, you just need to build the confidence and stamina.
Read my "10 tips to help your...." in my signature, and implement this in your next month of studying (along with IR studying) and smash it out of the park.
You are capable, but giving up would be the worst thing you can do. If it is your dream to attend a top business school, then a 660 won't cut it. Score that 700+ you are capable of.