Heming,
Thanks for your post.
Python reports that the problem polygon IsMultiPart = true, but part count = 1. However, this is what it reports for all polygons that have holes, whether my script detects them or not. This contradiction is apparently normal.
As for your specific suggestion, since Python cannot see the vertices of the hole, I can't "create each polygon out of each part", at least within a Python script. Otherwise your suggestion sounds like a great idea.
I did run the "Single Part to Multipart" tool and even though all of the polygons in the feature class were already single part (if we do not consider the holes as parts), my script then detects the holes. So, I have a work around, although I still contend this is a bug. Either Python should see the hole, or the Check Geometry tool should report it as invalid geometry.
BTW, I find it a bit confusing that in ESRI-speak, sometimes a polygon with a hole is considered "single part" and sometimes it is considered "multipart."
Mike