El siguiente enlace es un artículo que ofrece un gran desglose de los 6 escenarios en los que puede aparecer este mensaje de error:
Escenario 1 - Se produce un error al intentar insertar datos en una base de datos
Escenario 2 - Se produce un error al intentar abrir una conexión ADO
Escenario 3 - Se produce un error al insertar datos en Access, donde un nombre de campo tiene un espacio
Escenario 4 - Se produce un error al insertar datos en Access cuando se usa adLockBatchOptimistic
Escenario 5 - Se produce un error al insertar datos en Access, cuando se usa Jet.OLEDB.3.51 o el controlador ODBC (no Jet.OLEDB.4.0)
Escenario 6 - Se produce un error al usar un objeto de comando y parámetros
http://www.adopenstatic.com/faq/80040e21.asp
Espero que pueda ayudar a otros que puedan estar enfrentando el mismo problema.