私はダイアログを表示するのにこんな感じのモジュールを使っています。
/*
mes_dialog p1,p2,p3,p4,p5,p6
どのパラメータも省略可能で、()内は省略時のデフォルト値です。
p1("") : ダイアログに表示するメッセージ
p2(0) : 表示するボタンの種類
	0 … [OK]のみ
	1 … [OK][キャンセル]
	2 … [中止][再試行][無視]
	3 … [はい][いいえ][キャンセル]
	4 … [はい][いいえ]
	5 … [再試行][キャンセル]
	6 … [キャンセル][再試行][続行]
p3(0) : 表示するアイコン
	0 … なし
	1 … ×マーク
	2 … ?マーク
	3 … !マーク
	4 … "i"マーク
p4("") : タイトルに表示する文字列
p5(0) : デフォルトのボタンを0〜2で指定
p6(0) : その他のオプション
	0 … なし
	1 … 右から表示
	2 … 閉じるまで最前面に表示し続ける
	3 … 上の二つを両方採用
実行後、statには押されたボタンに対応する値が入ります。
	1 … [OK]
	2 … [キャンセル](もしくは右上の[X])
	3 … [中止]
	4 … [再試行]
	5 … [無視]
	6 … [はい]
	7 … [いいえ]
*/
#include "user32.as"
#module
#define global mes_dialog(%1="",%2=0,%3=0,%4="",%5=0,%6=0) _mes_dialog %1,%2,%3,%4,%5,%6
#deffunc _mes_dialog str s,int type,int icon,str c,int def,int other
	x= limit(type,0,6)*0x1 + limit(icon,0,4)*0x10 + limit(def,0,2)*0x100
	x+=((other&1)!=0)*0x80000 + ((other&2)!=0)*0x40000
	MessageBox hwnd,s,c,x
	return stat
#global
//使用例
mes_dialog "あいうえお",4,4,"かきくけこ",1,2
mes stat