Несколько вещей для проверки:
- Ваш приемник элементов списка подключен к списку, чтобы он срабатывал?
- Имеет ли пользователь, который вызывает срабатывание триггера, право удалять элементы?
- Есть ли какая-либо программная ошибка в DeleteProject?
Попробуйте добавить данные в журнал, чтобы увидеть, как далеко он работает.
Редактировать
Может ли проблема быть здесь:
string projectName = properties.ListItem["Project Name"].ToString();
Элемент списка называется "Имя проекта" с пробелом в имени?
Редактировать 2
Исходя из ваших комментариев, комбинация аутентификации и строки подключения означает, что именно контекст безопасности вошедшего в систему пользователя используется в базе данных. Проверьте права своего пользователя.