O link abaixo é um artigo que fornece um ótimo detalhamento dos 6 cenários em que essa mensagem de erro pode ocorrer:
Cenário 1 - Ocorre um erro ao tentar inserir dados em um banco de dados
Cenário 2 - Ocorre um erro ao tentar abrir uma conexão ADO
Cenário 3 - Ocorre um erro ao inserir dados no Access, onde um nome de campo tem um espaço
Cenário 4 - Ocorre um erro ao inserir dados no Access, ao usar adLockBatchOptimistic
Cenário 5 - Ocorre um erro ao inserir dados no Access, ao usar o driver Jet.OLEDB.3.51 ou ODBC (não Jet.OLEDB.4.0)
Cenário 6 - Ocorre um erro ao usar um objeto Command e Parameters
http://www.adopenstatic.com/faq/80040e21.asp
Espero que possa ajudar outras pessoas que possam estar enfrentando o mesmo problema.