Сообщение от
S.Kuskov
Решил в событии leaveRecord() датасурса всегда дизейблить кнопку, а в active() разблокировать.
Да и ещё по умолчанию в самом дизайнере, либо в ините формы, заблокировать кнопку, на случай если сразу после открыти формы datasource уже пуст.