Может быть как - нибудь и можно, но я в подобных случаях пользуюсь дедовским методом.
Подозрительный код методически "окружаю" вот такими сообщениями
Код:
ShowMessage('Точка 1 Входим');
.......
.......
.......
ShowMessage('Удачно вышли');
Нудно, но очень эффективно. Я этим всегда пользуюсь.
По поводу 2 вопроса.
Не уверен, но попробуй проверить, допускает ли поле базы данных сохранение значения Null.