You're correct in assuming that MD5 and Crypt can't be reversed, these are not actual encoding functions.
I'd say, assign every user a random number, md5()'ing it into the user table, BUT keeping the original number in a different (custom) table. Then when you are done, write a quick PHP script that fetches all passwords and emails your users with their password.
BTW, when you do purchase vBulleitn please please go to
this page and enter your username, to show you are licensed.