When restoring from very old core wallets (wallet.dat) keep in mind that you might have to use the same OS (Linux / Win / Mac) as the original file.
Not sure why, but I could not import a 0.7.1 wallet.dat from a Linux box into a Windows one. Gave a corrupt error and shutdown.
Popped the file into a CentOs like it was originally on and no issues.
Moved the updated wallet.dat back to the Windows machine and all was good. So it was something with the older version of the wallet.dat from a foreign OS
Personally, I don't rely on the wallet.dat file, and have backups of my private keys which I took care in making sure they never touched a electronic device, and aren't stored in plain text. Although, I still have hot wallets like anyone else, but the majority of my Bitcoin is stored via these offline generated private keys.
I believe a certain version of Electrum abandoned backwards compatibility a few years ago, but I'm not sure if I'm recalling that correctly, and even then I don't think Bitcoin Core in its history has rejected backward compatibility. Of course, even if older software isn't backward compt
I know it should not matter, but it did.
And the only reason I even thought about going back to the Linux box was there was a post someplace (here / reddit / somewhere) with somebody having the same issue that I saw a long time ago. So there were at least 2 people with the issue before this. The one who had it and the one who told him the solution. So, since also happened to me, I figured it was worth a mention.
The only thing I can come up with, and this is a stretch, is that there was a very minor difference with some versions of the DB, depending on the OS and how you compiled it.
But that is really pulling something out of the air and grasping for a reason.
-Dave