Я бы предположил, что вы можете установить форму «диалога», чтобы она оставалась сверху (свойство TopMost), а затем отключить основную форму, чтобы предотвратить ввод.
Это только частичное решение, так как основная форма все еще будет способна быть сфокусированной, закрытой и т. Д. Вам нужно будет самостоятельно обрабатывать все эти случаи, чтобы предотвратить их.
Есть ли какая-то особая причина, по которой вы не хотите использовать ShowDialog?