Well, exception handling by itself doesn't make code more elegant, but the ways you handle exceptions (such as maybe trying to silently fix things, or giving the user the option to try to fix something, or to leave, and using them to clean things up that might need to be cleaned in the case of something being broken etc.) can certainly make it easier to work with the bad code.
However, there is only so much you can do in a case like this where the COM object just plain sucks.