And to make the fallback path as easy as possible --- just ask the users to use their full email adress as user name.
If they want to sign their comments et al with something other than their username (=their email) - you can provide a nick feature to be configure on the pref's page.
I would agree, but some people aren't keen on giving their email address straight off the bat. You could be poised to spam them with a million emails.
I think username/password, then fill in email etc in profile page, and if they don't fill in their email address, they can't recover their password and will need to create a new account.
Depends on what they're signing up for though - how 'lightweight' is it, does it just store some handy prefs for the app, or does it store credit card details for instance.
I made an e-mail address optional with only a username and password required. The results are almost exactly 50/50 between those who put in an email address and those who do not.