Если можно определить, успешно ли отправлено электронное письмо, прежде чем вы фактически внесете изменения в базу данных, это будет хорошим вариантом. Это не всегда так, но, возможно, это сработает для вашего приложения.
Обычно, исходя из моего опыта, ASP вызывает исключение в случае сбоя электронной почты. Если это произойдет, ничего не делайте в БД, если почта проходит, смените пароль. Это не значит, что они получат электронное письмо, но вы все равно не сможете учесть проблемы во время путешествия по электронной почте. Опция выше будет применяться после этого не удается. ;)