I have found a procedure which seems to eliminate most but not all corruption. I believe neither iPhoto nor the overall Faces database are corrupt. Instead, what seems to become corrupted is data which associates individual photos with the Faces database. The goal is to find a way to delete this corrupt data. One difficulty is when the found face associated with the corrupt data is marked to be ignored, it remains ignored even when the corruption has been deleted. Another difficulty can determining which found face rectangle is associted iwth corruption.
First steps were to rebuild the iPhoto database, then to rebuild the database, repair permissions, and rebuild thumbs. Then I manually deleted many found face rectangles which were in wrong places or had the characteristic wrong shape as described in "found faces moved" linked above, and at various times I ran Detect Missing Faces. This left me with 611 photos I flagged as showing corruption which was not easily deleted, in my library of 26,000 photos in which about 12,500 contain found faces.
What I have found is rotating the photo. running Detect Missing Faces, and then Revert To Original reveals most corrupt found face rectangles so they can be deleted. LIsting the steps,
1. Select and open a photo which has unresolved issues iwth its Faces thumbnail.
2. Rotate the photo, then run DMF.
3. Rotate the photo again (now it will be upside down), then run DMF again.
4. Revert To Original. In most cases the corrupt found faace rectangles wil be moved off the face.
Now is the tricky part. The corrupt found face rectangle is still corrupt, and still associated wtih the correct name and found face location, even though it is now at a different location in the photo. If the corrupt found face rectangle is deleted, the correct found face area will be marked as "ignore face" and subsequently will not be found by DMF. Also, the corrupt found face is associated wtih the Name of the individual whose found faces are being viewed. If this found face is deleted the photo may be removed from the group being viewed. Thewse next steps are to avoid these issues.
5. Add Missing Face anywhere in the photo, and give it the Name whose faces are being viewed. (This will anchor the photo in the group.)
6. Delete the corrupt found face rectangles. (Corruption is now gone!)
7. Run DMF. The faces should be found by the search algorythm, and should be "unnamed". (Often if DMF is run before deleting the corrupt cound faces (step 6), the existing corrupt data will be associated with the newly found face. An indicator of association of old corrupt data with the newly found face is it having Name assigned.)
8. Name the newly found faces.
9. Delete the Face added in step 5.
When they work, these steps seem to remove all corruption from a photo. These steps do not work when rotation, DMF and reversion to the original does not move the corrupt found face rectangle off the target face.
I think in those cases where this procedure does not work, the corruptipn can be eliminated by exporting the original photo, then re-importing it into iPhoto. I did this sucessfully for a few test photos. When I then tried to export all the photos I had flagged as corrupt, iPhoto crashed. I have not yet investigated further.
Hope this helps somone.
Tom