Where does Time Machine store its cache? Mine is sometimes corrupted Whenever a backup is run, Time Machine says "Preparing Backup...". During this stage, it looks for what files have been changed since the last backup by comparing changes in the Event Log (I assume) with its cache of files on the system.

Because of the cache, the Preparing stage is usually quite fast (30 seconds), but for some reason, sometimes when I restart from Boot Camp (Windows 7) into OS X, Time Machine's cache is wiped clean or corrupted. I know this because the Preparing stage takes 10 minutes after booting back into OS X.

So, that's why I'm wondering where the cache is located so perhaps I could determine why it's sometimes corrupted.
There could be any number of different factors involved in why Time Machine is doing a full scan after using Windows/Bootcamp. From what you describe it seems out of sync, as if your system is telling Time Machine 'this volume is not like it was, so do a full scan'. One of the first things that might give you an idea of what is going on would be to open Console immediately after Time Machine kicks in with 'Preparing...'. By observing fseventsd, system.log, and backupd you should be able to get a better picture of what might be taking place. You can type any of those terms in the search box of Console to see a consolidated list of those events.

This article is also an excellent in-depth guide to Time Machine; it covers just about everything you could imagine, so take a look.