We recently ran test-spcontentdatabase a Sharepoint 2010 farm and got a list of missing features and web parts, etc. I've been busy hunting down all the erroring web parts on various pages and removing them either by deleting straight off the page or by appending ?contents=1 to the URL and deleting the closed ErrorWeParts that way.
I've been finding the pages with an SQL query against the content database mentioned in the errors. However, for a few I just can't seem to find the problem. There's nothing wrong with the page and no closed web parts show up as errors.
These are not publishing sites or pages with versioning, so I don't think it's old versions of files. One thought I have is whether these reported errors that still show up in the SQL query are on personalized views of the page. But I have no idea how to find that. And it's one of those crazy ideas anyway.
My SQL query looks like this:
select d.dirname , d.LeafName , wp.tp_ZoneID from alldocs d with (nolock) inner join AllWebParts wp with (nolock) on d.id = wp.tp_PageUrlID where wp.tp_WebPartTypeId = @currentGuid