Я не особо любитель автономных трейнеров. Если бы я заморочился, то т.к. форма генерируемого трейнера продолжает работать с обычными MemoryRecord из таблицы CE, то можно в MemoryRecord подменять Hotkey. Я бы все удалил с формы. Создал бы сначала CECheckbox1, CEEdit1 и связал бы их с некоторым MemoryRecord по уникальному названию. В MemoryRecord подменял бы Hotkey через обработчик CEEdit1. По esc клавише стирать все, что в CEEdit1
Потом бы для остальных записей по аналогии...
На мой взгляд, это большие заморочки и сложнее чем если писать на WinAPI + язык программирования. Я бы предложил просто пользоваться *.CT-таблицей 🙂