Sounds like I need to try huge mailboxes a bit more.

I'm not really sure which option is best. One is maybe to set up a new account, connect to both the old and new account using an email client, then drag and drop messages over from the old account to the new one (the messages which you want to keep). When that's done, delete the old account, recreate it and copy back the messages.
However, deleting the account containing >600 000 messages may take some time. It's possible to delete messages manually, for example using:
Code:
select accountid from hm_accounts where accountaddress = '<insert-address-here>'
delete from hm_messages where messageaccountid = <result-of-first-query>
After that, you need to manually delete his account
folder as well, which I suspect may take quite some time if you're using Windows Explorer.
In version 5 there will be an option in hMailServer administrator to delete specific IMAP folders.