Yes the timer is unreliable
What you can do:
(defun MsgBox (title options message time / WshShell)
(setq WshShell (vlax-create-object "WScript.Shell"))
(vlax-invoke WshShell 'Run
(strcat "mshta.exe vbscript:close(CreateObject(\"WScript.Shell\").Popup(\""
message "\"," (itoa time) ",\"" title "\"," (itoa options)"))"
)
)
(vlax-release-object WshShell)
)
That always returns 0, so cannot detect which button was pressed. But this shouldn't have to be a problem when you only have one button.