Нормальный способ - "плясать" от меню, а не давать права на конкретные ключи, т.е. на ключи вообще права не давать, кроме ряда случаев XxxTables, висящих на таблицах, для которых настроено AOSAuthorization; пример такой таблицы - EmplTable, там без доступа на
ключ BasicTables ни формы не откроются, ни код, дергающий EmplTable::find(), не отработает. Для работы lookup'ов мы делали несложную модифу, которая при раздаче доступа на таблицу шерстит все relation'ы на таблице и EDT полей, ищет по ним "основные" таблицы и выдает на них доступ на чтение. Новые формы от этого доступны не станут, а вот lookup'ы заработают.
PS. Мне лично особенно понравилась работа, кажется, PurchTotals, где есть datasource по Common. На Common висит ключ AdminTables, при этом не помню, видна ли она вообще в списке таблиц, привязанных к ключу, соотв., без доступа на Common (либо AdminTables) форма не открывалась

Решилось выставлением AllowCheck == No на datasource'е.