I'm pretty sure the wallet rescans the entire blockchain for transactions that match the addresses that are contained in the wallet.dat when you swap in a wallet.
He's missing something though.
OP, you need to fix your client before any of this matters. It will rescan, it will show history. Your wallet file is fine, it's what you're running it with that is messed up. Save your wallet somewhere safe, reinstall bitcoin, and import the original. No reason to move coins, the problem will just repeat itself.
After you overcome this issue, you will see all of your transactions. Making that a spreadsheet, though, is not directly possible through the client. Figure out the first part, then make a new thread about how to extract tx logs from the blockchain.
That does make sense that it would just grab that information from the blockchain. It must just keep your address names.
I am sure it's the file that's bad and not the client. I am not using the same computer, OS, or bitcoin client version that I originally had the issue with. Prior to creating a new wallet I had copied the wallet to my laptop and had the same issues with it opening and syncing.