Причина проста, а вот обойти её чуть сложнее.
Существует два способа запуска форм:
formRun.wait() и formRun.detach(). Отличаются они тем, что в первом случае метод wait() вернет управление только по закрытию формы. Второй метод запускает форму и тут же возвращает управление. В случае в RunBaseForm, как раз происходит первый способ вызова (\Classes\RunBase\promptPrim) и форма-родитель ждет закрытия конечной формы. В общем, нужно либо запустить форму в отдельном потоке (например, используя Infolog и setTimeOut, или ещё как-то), либо:
1) Если это RunBase - докапываться до метода promptPrim и вызывать detach вместо wait
2) Если это просто форма - получить объект FormRun и сделать detach():
Приблизительно так:
X++:
formRun = mf.create();
formRun.detach()