You really have 2 options.
Option 1) Take the risk and take your GMAT on the scheduled date that you've mentioned. However, you have no guarantee of scoring higher than what you've scored today. Also, if you don't put the actual GMAT score on your application (since you won't have your future score by the deadline), the school will definitely pull GMAT database before you take your next exam.
Option 2) Scoring 640 sucks. However, you already finished your essays. I am assuming rest of app packages are done as well. Forget round 2. Aim for round 3. Yes, your chances of getting into school like Stanford, Columbia, Kellogg etc dramatically gets reduced. However, why apply with uncertainties and get dinged from that disadvantage? If I were you, I would get rid of any uncertainties or mistakes on your app package and aim for R3.
The schools that you mentioned are top top schools. I understand that that's your goal. But life throws you curveballs sometimes.
Add couple more schools in Round 3 that's more of a safety....Otherwise, you might have to reapply next year. But if you want to go to school in Fall 09, I would add schools like Cornell, Yale, Duke, and Indiana in to the mix.
Everything happens for a reason. You can't change your GMAT score or anything else that's in the past. You have to move on.
You have a decision to make. You will have to change some of your original plans. You will have to give up few things that you've planned and add new things into the mix.
Either way, Gclub members are here to help you along the way.