By the time you have run into your "unexpected error", the damage has been done, and no amount of clean shutdown is going to resolve it. We get this question from time to time, and the answer is always the same - you really cannot stop, avert, or otherwise diminish corruption by trying to stop Access from closing. By that time, it's too late.
I'd urge you to concentrate your efforts on discovering WHY your database is corrupting. The most common causes seem to be poor network connections - does this occur for ALL users, or just one or two? If for all, then it's a common network resource, like a bad cable or router/switch. If it's only for one or two users, then most likely it's an issue with their hardware.
Are you using any sort of remoting technologies? That is, are all your users running the database in a local WIRED network? Or do you have users who run the database across a VPN, or via a wireless connection? Either of those can cause very frequent corruption.