Sounds like a case of bad primary key selection to me. The old username problem is serious though. There should be a deactivation window even if it's to let the original user reclaim the used username... so long as the primary key is the same.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.