I'm writing a kiosk GUI program in VB6.
I had to create my own MessageBox, since the lay-out is very simple of the MsgBox() command.
I used a Form with no borders, created my GUI on it and set it on top of the screen, disabling the owner Form.
The calling procedure "MyMsgBox()" executes a loop combined with the DoEvents statement and checks continuously for a variable's status. It's very simple, considers some attention to the DoEvents statement and is purely written in VB! You can even play a .AVI in your MsgBox!