I have a similar problem with corrupt images, eg:
http://redyeti.net/Rome/content/IMG_6618_large.html
It doesn't appear to be the .cr2 file itself that is corrupt though - I'll explain why shortly.
Here's my setup:
* Canon 40D (I *think* I also saw this sometimes in the past with my old 350D too, can't confirm that though sorry).
* Multiple CF cards, choice & brand of card doesn't appear to be a factor.
* Computer is an AMD Athlon 64 X2 4200+, DFI LanParty NF4 motherboard, 2x1GB OCZP4001G RAM (PC3200). HDD containing photos is 300GB Maxtor 6B300S0. S.M.A.R.T analysis (using SpeedFan) indicates the HDD is in very good health.
* Graphics card is nVidia 6800GT with recent drivers (v163.75). I've just upgaded to v178.13, don't yet know if that makes any difference.
* Running Windows XP with latest patches. Lightroom 2.0, but I've seen the problem with 1.4.x too.
My workflow:
* Put CF card into a USB card reader, copy files off using Windows Explorer to a folder on my HDD.
* Import the files into Lightroom, leaving files at their original location.
* metadata & changes are made to sidecar XMP files.
* Typically the thumbnail previews all show up fine, and when I click on a photo in Develop mode the larger preview is fine too. It's not until the photo has finished "Loading..." that the corruption appears. I assume this is because the embedded JPGs are used for the previews, and the corruption is occurring when processing the RAW data.
I'd estimate I get 1-2 corrupt images per 100 photos. It's annoying because I don't discover which images are corrupt until I start working on a particular image in detail. But the really interesting thing is, I *do not* have to recopy the image off the CF card to correct the problem. I have found a couple of workarounds:
* Rename the file on disk, and reimport it. This tricks Lightroom into thinking it's a new image, and almost always this 'new' image renders fine!
* Delete the sidecar XMP file and force Lightroom to resync the metadata. Again, this often fixes the problem (though not as reliably as the first approach).
I've also tried 'touching' the cr2 file (updating the creation date of the file), which I think works sometimes once Lightroom resyncs it.
In other words, it appears as though the file on disc is physically fine, but something happens when Lightroom processes the cr2 raw file that causes the corruption. Forcing Lightroom to reprocess the file from scratch generally straighten things out. The question is, what's causing the problem? I have a few theories:
* RAM. Some time back I upgraded from 2x512MB to 2x1GB sticks, different manufacturer and specification. There were definitely some stability problems when I first did this, it took a few goes with different sticks in different slots, BIOS changes etc to get my PC booting again. I've run several memory tests since (including one built into my BIOS) without seeing any problems, but perhaps there is some corruption happening when using Lightroom. Unfortunately I can't remember whether or not the problems started appearing around the time of this upgrade.
* Some sort of HDD/bus issue causing data to be corrupted as it is read from HDD. Also unlikely I would think since no other apps or data have any problems with data integrity/corruption.
* Corrupt Lightroom catalog.
* Threading issue in Lightroom. It's possible that a bug in some multithreading code is causing data corruption in memory when the files are processed. Seems a little unlikely, but certainly possible.
* Lightroom bug when handling Canon (40D only?) CR2 files.
* Conflict with another running application or video drivers. Can't think of anything that might be to blame but who knows...
I hope the above information is of some use. I'm happy to send through example images or provide any other information you might want as I'd love to see this problem solved. I also plan on upgrading my PC in about 2-3 months' time, it'll be interesting to see if new hardware makes the problem go away then.