Чтобы программно открывать диалоги существует процедура StdCmds.OpenToolDialog. Вообще в модуле StdCmds есть достаточно полезные процедуры.

Что касается главного окна - полноценного SDI в Блэкбоксе нет. Приходится крутиться