The ooDialog base classes load the C function library that allows ooDialog to work. The classes check that the library loaded correctly and fail on error.
But, if a user turns around and tries again, the classes will proceed, even though the function library is not loaded. This causes the user's program to end in an un-graceful manner.
While there is not a 100% positive way to avoid all problems, the code could be improved to eliminate most of the problem.