Figured I would post this up in case anyone else comes across the same weird glitch that I did.
I have 5 CF cards for my 7D. 3 32GB cards, A, B, and C, and then 2 16GB cards that sit in my gear bag as emergency backups. I try to be quick with getting photos pulled off cards onto computers and then formatted so they are clean and ready to go for later use rather than letting multiple sessions pile up on them.
I got a little behind on things, and Card B had some older photos that had yet to be sorted and pulled. Used a card reader to set Card B up to import to lightroom while I was shooting to Card A again. When I had finished I swapped Card B (having been done with importing for several hours at that point) for Card A to pull that night's photos off for review.
However, when I got into lightroom's import screen, it was showing all the previews from Card B... Double checked which card was where, ejected A and tried again. Still, it was looking as if it was reading Card B. Closed out lightroom, rebooted the macbook, and tried again. This time Card A was still showing all the same file names as Card B, but none of the .cr2 files had a valid preview. Further inspection showed that none of the files were valid, but all had the same names, date-timestamps, and file sizes as everything that was on Card B.
Somehow, all the file system metadata had been overwritten on Card A with Card B's info.
Luckily, Card A's data was saved with the simple tool photorec from http://www.cgsecurity.org/
and while it recovered all the photos from the card mostly intact (without the usual file name, and extra meta data like in camera ratings and such), it also recovered all the photo data that was still valid on the card. Given that it was all just roller derby photos it wouldn't have been a big deal, except that I was recovering a 32GB CF card onto a macbook with about 30GB of hard drive space left...
(I think the root cause was that OSX didn't properly eject Card B as expected, and then got confused with the nearly identical Card A suddenly replaced it.)

