AviUtlというのがどういうものなのかよくわからないので画像検索して調べましたが、
このような形になるでしょうか?
#include "user32.as"
#const window_num 3 //ウィンドウの数
dim hwnd_l,window_num //ウィンドウハンドルのリスト
dim order,window_num //ウィンドウの重なり順調査用
screen 0 : gsel 0
oncmd gosub *act,0x6 //すべてのウィンドウに対してWM_ACTIVATEでの割り込みを有効にする
hwnd_l(0)=hwnd //ウィンドウハンドルを記録する
screen 1 : gsel 1
oncmd gosub *act,0x6
hwnd_l(1)=hwnd
screen 2 : gsel 2
oncmd gosub *act,0x6
hwnd_l(2)=hwnd
gsel 0
onexit *exit
stop
*act
//WM_ACTIVATEが来た時の処理
if (wparam&0xFFFF)=0 : return //「このウィンドウがアクティブになった」というサインでないのならreturn
//ウィンドウの重なり順を調べる
memset order,0,4*window_num //配列orderをすべて0に
GetWindow hwnd,1 //GW_HWNDLAST
tgt=stat
order_pos=0
repeat
if tgt=0 : break
repeat window_num
if tgt=hwnd_l(cnt) {
order(order_pos)=tgt
order_pos++
break
}
loop
if order_pos>=window_num : break
GetWindow tgt,3 //GW_HWNDPREV
tgt=stat
loop
//重なり順を維持したまま最前面に
repeat window_num
if order(cnt)=0 : continue
SetWindowPos order(cnt),0,0,0,0,0,0x13 //最後の引数はSWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE
loop
return
*exit
//終了時処理
//終了前にoncmd 0としておかないとウィンドウが閉じるのに時間がかかってしまう
oncmd 0
end