Вы не должны помещать проверочный код в триггер KEY-COMMIT, потому что, как вы теперь знаете, это только один из способов, которым форма может быть зафиксирована. В дополнение к клавише F8, пользователь может выйти из формы и ответить «да» на «Хотите ли вы сохранить изменения?» и т. д.
Чтобы проверить запись, используйте триггер WHEN-VALIDATE-RECORD. Для более сложной проверки вы можете использовать триггер POST-FORMS-COMMIT.
Недавно мне пришлось столкнуться с подобной проблемой, когда разработчик поместил какой-то жизненно важный код инициализации в триггер WHEN-BUTTON-PRESSED кнопки «Enter Query». Если пользователь вместо этого нажал соответствующую клавишу для ввода запроса, или использовал меню, или использовал панель инструментов, форма свалилась в кучу.