I recently decided to ditch my old gmail account in favour of my new gmail account, which is my personal domain name I have had for years (Google Apps for Domain).
In doing so I needed to port all my mail from the old gmail account to the new gmail account.
I setup the appropriate forwards etc, been running that way for about a month now.
The best way I have found to "Move" all the mail from old to new is.
Setup BOTH the GMail accounts in Mail (OSX on the Mac) as an IMAP account. The IMAP bit of course is important. Once they are setup, and you can see the mail in both of them.
Simply: Drag and Drop. Go to Sent Mail, in the old. select all and drag it into the Sent Mail on the new. All the dates and everything is preserved. Similarly, the same for Drafts (yes I had over 50 drafts) .. and All Mail, that caps in at 10,000 emails.
Just drag and drop to the same folder in the new account; Leave it running over night of course as it takes a LONG time. And without needed to state the obvious, the faster your connection, the faster this is. It moves the mail from the OLD to the new, VIA your computer.