Показывать главную форму модально не имеет смысла, можно, конечно, придумать ситуацию, когда именно главная форма должна висеть поверх всех других окон и лочить инпут только на себя, но это уж.. как-то слишком.
Что касается кода, то вот:

Код:
// MainForm code
var exitCode = mdm.Forms.subForm.showModal();
if (exitCode == "cancel") {
// start process "cancel"
}
if (exitCode == "ok") {
// start process "ok"
}
// another if's
// SubForm code
mdm.Application.exitWithModalResult("ok");
// Valid modalResult values are:
// none,ok,cancel,abort,retry,ignore,yes,no,all,notoall,yestoall
Т.е. exitCode - переменная, содержащая результат отработки модальной формы.
Возможно, будет работать и в том случае, если вместо "ok" или других валидных строк в
mdm.Application.exitWithModalResult() подставлять произвольную строку. Не проверял или забыл уже.