This warning means that all of your private keys have been read successfully, but either some of the transaction records are corrupted, in which case Core automatically does a rescan, address label records are corrupted, some preference settings are corrupted or some of the keys in your keypool (an object with hundreds of pre-generated privkeys, unused, and placed in reserve when more receiving addresses are requested) are corrupted and haven't been read. Every record that can't be read cannot be returned by the client, so you're never going to get a corrupted private key when you request a new address, because it hasn't even been read in the first place.
After you do a rescan (pass -rescan to bitcoin-qt command line options), if you see transactions that clear out the addresses then you can be sure there's no bitcoin left in that wallet.
Also:
if you use bitcoin-wallet tool to salvage your wallet, DO NOT WORK ON THE ORIGINAL FILE! Always make a copy in case the salvage operation fails and accidentally destroys the wallet.