Microsoft could have some process that records dead accounts and automatically deletes them from the contact lists of the billions of computers running skype, but imagine the problems when someone deletes their account by mistake (or has it hijacked and deleted by a third party) and wants it restored.
Now the better approach might be to associate each JohnSmith account with a unique ID that never gets recycled and then reject calls unless the account_IDs match. But that's probably a lot of re-engineering that they don't want to do.