How this is managed depends on the software you are using.
I personally use a bulk emailer called Campaign Enterprise (Arial is the name of the company who sells it). I write my campaigns (or email invitations and reminders) within Campaign Enterprise. My sample file is saved in a Microsoft Access database (other database software can be used) and it is linked to the campaign.
The sample file in Microsoft Access is updated automatically by Campaign Enterprise with bounces, unsubscribes, bad emails, etc.
I update the completed surveys in the Microsoft Access database via the password report within the Sawtooth admin module. I also update the declines from respondent support staff.
Once all updates have been made, I send the reminders out to all those who have not declined, bounced, unsubscribed, completed the survey, etc. I created a field called "Send". Send=0 is okay to send the reminders. Send=1 is not okay as it means one of those terminating activities has occured.
This whole process I go through can differ depending on your software. Do you use a bulk mailer? If so, it should have a filtering facility to enable you to only send to the "live" records within your sample.