Hi Terence, thanks for your suggestion. I did as you suggested, and sure enough it seems to get them all and doesn't stay in a loop about faces it thinks are my own despite confirming them multiple times.
So now that we know it seems to behave correctly in a new library... what's next? Obviously I'd rather stay away from creating an entire new library if I can help it. There shouldn't be anything wrong with my current one, even though it seems there are some issues.
Perhaps I wait for an iPhoto update to squash the bug, and report it to Apple in case they aren't aware of it? Or is it a relatively easy transition between iPhoto libraries? (all I did for the suggestion was move over photos for one face and then confirmed them) What about it's integration with Facebook? I don't want a whole bunch of new updates for the hundreds of photos I have uploaded to Facebook via iPhoto either because it's in a new library or because it detects faces again. You know what I mean?
Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Rebuild iPhoto Library Database from automatic backup.
If that fails:
Download iPhoto Library Manager and use its rebuild function. This will create a new library based on data in the albumdata.xml file. Not everything will be brought over - no slideshows, books or calendars, for instance - but it should get all your albums and keywords back.
Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one. .
I had the same issue, and tried your Option 1 (I have lots of books, so Option 2 is not acceptable)
Unfortunately, it didn't solve this problem and produced a new one - hundreds of my older pictures have lost
their orientation information and now need to be re-rotated.
Do you know a way to recover the previous orientation? (I suppose I could revert to my backup prior to
this, but I didn't notice the problem for a while, so this will be painful too)