I'll take a look, but that makes no sense. I'm thinking it must be a strange issue with the SMTP server.
Create a blank page on your site with the code:
<?php
@session_start();
var_dump($_SESSION);
?>
Then complete a transaction and browse to that page.
It will show you the contents of the email you just tried to send (with a bunch of other junk you can ignore).
Is the email body listed on that page from the previous order or the current one? If it is from the previous order, then there is an issue with your code, if it is from the current then it is an odd issue with the SMTP server and you can ask your hosting company to debug the strange delay.