Странно... С помощью связей на таблице так и не удалось добиться стабильной работы лукапа в другую компанию.

Если в поле пусто - лукап отрабатывает на ура. Если в поле уже указано значение, почему-то открывается лукап в текущую компанию + одно значение из нужной компании, которое уже указано в поле.
Пришлось сделать в лукапе changeCompany() перед super().