Непонятно мне, чем тебе не понравилась данная связка, в фирме где я работаю, с десяток больших проектов, вот с такими связками в каждом модуле, работает это все по несколько лет, работает идеально.
Метод Abort, всего лишь прекращает выполнение Post-а.
Метод Exit покидает процедуру (остается следить только за порядком проверки).
По поводу Halt и Terminate, это те методы, которые я категорически неприемлю), но задумка интересная
Пользователь быстро отучится вводить неправильные значения и станет "досвідченого користувача"