I was recently working on an enviroment where we got a very unhelpful error. In turns out it is caused by ForeFront!!! So if you get a COM exception error in Sharepoint with HRESULT: 0x80041051 it is caused by Forefront thinking some pages have a virus.
Go to the SharePoint SQL Server and run the following query on each of the WSS_Content databases:
WHERE (VirusStatus > 0) AND (VirusStatus IS NOT NULL)
If any rows are retuned then run the following query:
Set VirusVendorID=NULL, VirusStatus=NULL, VirusInfo=NULL
where (VirusStatus > 0) AND (VirusStatus IS NOT NULL)
Repeat this process for each of the wss_content databases.