I don't see why people get defensive about this - its a must have feature under data protection laws - self-deletion is important, particularly if you have register to leave comments turned on on a busy website, for example.
It shouldn't be so difficult to add this to the core, perhaps with double "are you sure?" buttons, and maybe an email confirmation required too?
Facebook have added this recently, after, quite rightly, taking a lot of flak for not allowing self-deletion.
The alternative is to create a very visible "please remove my account" contact form, and ask user to list email address, username, etc, and then admin does a follow up email to the registered account to make sure its not a malicious contact - while this is a little long-winded, it will prevent users from getting pissed off with you.
I also routinely email all registered users using an email plugin each month asking them to reply to me with unsubscribe if they want to delete their account, which is great for removing expired and no-longer-interested users who would otherwise clog the database with pointless details.
Just a few ideas for those of us who want to manage a database of active users!