Ok, here is what I did.
Put this in a timer (I check every second). This makes sure that even if the dialog becomes active somehow, it will take you back to mIRC within a second, so shouldn't be a problem in most cases.
if ($dialog(dialogname).active == $true) { showmirc -s }
For moving it based on window sizes/positions...
dialog -s dialogname $calc($window(-2).w - 227 + $window(-2).x) $calc($window(-2).y + 23) 110 20
You'll need to adjust the x,y,w,h in there as needed. For me, I wanted it 227 in from the right side of the mIRC window and 23 down from the top and the width and height are 110 and 20.