We had a problem when a contact shifted from one organisation to another whom we also deal with, and we needed to retain the email history and notes associated with that person.  If you delete the contact person when the leave you lose the history and if you change their email (if they shift to another organisation) you also lose the email history, so we use the custom fields to identify them as current or not current contact.

it's still not ideal as they still show in the organisation view as a contact - so if anyone has any ideas how to manage this situation I'd be glad to hear.