Так не понял толком зачем специальные функции.
Переводил свои формы в потоки. делал так, и проблем не было с ожиданием инфолога
X++:
Thread thread = new thread();
;
thread.setInputParm(con);
thread.removeOnComplete(true);
thread.run(classnum(ThreadTest), staticmethodstr(ThreadTest, mainThread));
thread.waitUntilSignaled();
infolog.import(thread.getOutputParm());
Соответственно гдето в конеце mainThreadа строка
X++:
_thread.setOutputParm(infolog.copy(1,infolog.num()));