"It works and gets the job done"
Yay! Always a vitally important thing to all projects.
"but it's far from elegant"
Define elegant. Also, is elegant a project requirement, or asset, or is it just a personal affection?
"numerous little (some might say trivial) mistakes everywhere"
Those are a problem. Mistakes are always problems, but they do occur.
"Diagrams that should be spread over five or six pages are crammed onto one, naming is totally inconsistent, and so forth"
If it is within your power, have a documenting standards and policies instituted and enforced for everyone.
(I removed the "arrows point the wrong way but doesn't affect anything" because that's an error thing.)
"Much of this is because he is so busy and just wants to get everything out the door."
Out the door is what everyone wants, but if the issue is because he has too high of a workload, either redistribute the workload, get more help so you can redistribute, or obtain more time for the project. It's well known that too much work in too short of a time with insufficient resources results in errors and a net loss of productivity. You can have it cheap, good, or fast, but you can't have all three.
"What is the best way to handle this?"
Not enough information to properly answer this, but please see previous comments and questions.
"I spent a lot of time refactoring some of it"
Is that necessary, or is it your personal choice? If it's necessary, there is a problem. If it's your personal choice, find out why are feel you need to do that, and re-assess the decisions you've been making. I know, it sucks, but it may have to be done when.
"as soon as he makes any changes it needs doing again and I have my own work to be getting on with."
Ok, earlier you said you don't like how he does it, but it works as intended and required. So why are you redoing it again? Does it not work, is it below the required standards, what? You need to justify why you are wasting time doing someone elses work. Are you just covering for him, or is there another reason? You really have to try and think about this one.
"I submit bug reports and feature requests, but they are ignored."
I'm sorry, but welcome to the modern practices of "if it's good enough, get it out the door and we'll fix it later, if we have to" attitude that infests most companies.anymore. And don't worry about the fact that when the customer base freaks out over a serous bug that was found and ignored by the higher ups during development, they will undoubtedly lay the blame on you, despite all the documents to the contrary. (Find a way to legally keep a copy of the bug reports or submissions where you can access them if some kind of legal repercussions occur due to such circumstances.)