craft()->users->saveUser seems to check email for uniqueness across ALL users, not just verified ones.
It seems like it should only check against verified ones to me.
- firstname.lastname@example.org registers (only he fat fingered and it was supposed to be email@example.com). Bob never gets his verification email, but that's his fault. Boob gets one, doesn't know what it is and ignores it.
- Later, the real firstname.lastname@example.org now tries to register, but he can't because email@example.com is sitting there unverified, squatting on that email.
At this point you could have an option to resend the activation code, however once firstname.lastname@example.org get that and verifies it, his account will now be the account that the other guy actually signed up for, so if you're doing stuff with accounts, it might have data associated with it you don't want.