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.
- email@example.com registers (only he fat fingered and it was supposed to be firstname.lastname@example.org). 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 email@example.com now tries to register, but he can't because firstname.lastname@example.org is sitting there unverified, squatting on that email.
At this point you could have an option to resend the activation code, however once email@example.com 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.