Ну, так я же написал. Вызываю форму не напрямую, а через класс-посредник на основе RunBaseBatch из метода Dialog()
В момент выбора другой компании в форме запоминаю выбранную компанию в классе-посреднике и закрываю форму.
В классе-посреднике организовал цикл по вызову Prompt(), если по завершении Prompt() есть значение компании, то заново вызываю форму передав в качестве параметра это новое значение.
Фактически, просто переоткрываю форму с новым значением компании.