If you're willing to edit a file, you can try this: edit file includes/function_login.php, and around line 170 is this code:
Code:
array($callback, 'callback'),
$username
);
if ($vbulletin->userinfo = $vbulletin->db->query_first("SELECT userid, usergroupid, membergroupids, infractiongroupids, username, password, salt FROM " . TABLE_PREFIX . "user WHERE email = '" . $vbulletin->db->escape_string(htmlspecialchars_uni($username)) . "'"))
{
if ($vbulletin->userinfo['password'] != iif($password AND !$md5password, md5(md5($password) . $vbulletin->userinfo['salt']), '') AND
where the word 'username' has been replaced with 'email' (in red, scroll to the right).
I only spent a minute or two testing it, but the only problem I found was that when you go to the admincp or modcp (assuming you're one of those), it puts the user name in the "User Name" box, so you have to change it to your email address to log in.