I have figured out a way to get them out via forwarding them, using a browser scripting tool call iMacros. I think this macro will only work with Firefox 3.6 which you can get from this link. I wont go into installing and setting either of them up, but here is the macro I used.
VERSION BUILD=7300701 RECORDER=FX
TAG POS=1 TYPE=SPAN ATTR=CLASS:hE&&TXT:Reply
TAG POS=1 TYPE=TEXTAREA FORM=NAME:NoFormName ATTR=NAME:to CONTENT=test@GMAIL.COM
TAG POS=1 TYPE=DIV ATTR=TABINDEX:1&&ROLE:button&&TXT:Send
TAG POS=1 TYPE=IMG ATTR=ALT:&&SRC:images/cleardot.gif&&CLASS:iHkD0e&&TXT:
Just replace 'email@example.com' with the email address you want to forward to.
Now the only other key piece of advice is where to start the loop of the macro. To do it right, you will want to create a label and assign all your gmail chats to it. This will allow you to see your chats in chronological order and forward them that way.
Then in gmail click on the label, when the list opens it will likely open to the newest first. Therefore, go the the last page of the labels contents. Open the last item. here is when you click "play loop" in iMacros.
I had 1k chats to export. You'll notice there are "wait" statements in the code, this will give the browser time to keep up. They may need tweaking.
Also, check back every couple of minutes, because it sometimes throws an error, or tries to move to the next (newer) chat before the email has been sent. Just click "cancel" and it will go back to the script and the email will have been sent.
If it throws any other errors during operation, you should be able to adjust the loop duration and start it again with no problems.
This has been aggravating me for so long since I switched Gmail accounts due to spam, so I am finally happy to close that account having got all my content out.