В dax2012 форма для раскрывающегося списка - это просто базовый класс формы. А "TemporaryFormName" - это имя этой новой формы, чтобы не создавать макрос
X++:
protected FormRun formRun()
{
Form form = new Form();
form.name(identifierstr(TemporaryFormName));
(...)
Т.е. TemporaryFormName - не есть объект-форма. Здесь это используется просто как имя. Текст. Никаких реквизитов формы TemporaryFormName (да и самой формы) здесь не используют
Поэтому блокировка закрытия lookup-формы - это именно что запрет вызова super() в методе closeSelect()
Например, если посмотреть форму Lookup для множественного выбора SysLookupMultiSelectGrid, то у нее именно что метод closeSelect() закомментирован
Здесь же в ссылках ниже есть статья Максима Горбунова
Создание Lookup формы, где он также пишет, что надо просто перекрыть closeSelect() если нужен контроль закрытия формы
PS: Чтобы создать форму именно на основе формы из AOT нужен другой синтаксис
X++:
form = new Form(formstr(Dialog))
SysTableLookup - создает форму "с нуля". Без какого-либо шаблона формы в AOT. Поэтому и перехват методов невозможен. Не известен объект у которого эти методы надо перехватывать