I am using an OleDbConnection, OldDbCommand, and OleDbReader against an Access database.
I have a named query in the database which I am calling from the code.
Another possible cause of this exception is if the File your trying to load/read does not exist.
I have found it useful to perform a "File.Exists" before trying to open the file just to make sure my code detects this specific cause of the "IErrorInfo.GetDescription failed with E_FAIL" exception correctly.