Кажется, что в коде нет ничего логически неправильного, так как Антоний говорит, что вы можете уменьшить количество строк.
Я бы, вероятно, шаг за шагом проходил код до строки отправкипроверьте, действительно ли изменилась StartDate.
Единственное, что я могу себе представить, что может пойти не так, это какой-то откат транзакции в базе данных или вы не просматриваете ту запись, которую считаете нужной.