Scott,
What if you put a little wait window statment before you fire messagebox() so the user is aware that it might not show, at least then it might prompt them to have a look around and see what is happeneing. Another Idea might be to creat a window for the messagebox() to display in, and make it top level.
Iain Brodie