Afinal qual é a forma mais rápida de acessar um banco de dados : DAO ou ADO ?

A pergunta é um tanto melindrosa , pois muitos fatores que estão envolvidos não foram definidos.

De forma geral para acessar uma base de dados Access em um computador de mesa ( desktop ) ou mesmo em um ambiente multiusuário a DAO é mais rápido que a ADO . Eu disse em geral pois tudo vai depender do ambiente : a configuração da máquina ,  a desenho da aplicação , etc...

Então , se você esta fazendo um pequeno programa para uma máquina local ou uma rede com até 20 usuários,   e não sabe se usa DAO ou ADO. Se a questão for rapidez escolha a DAO.  Com a ADO a informação vai para o  Jet que a processa e retorna para a ADO que a repassa para você.  Usando a DAO a camada ADO (OLE DB) é removida tornando assim o processo mais rápido. Sem contar que o tamanho do seu aplicativo vai aumentar por conta da MDAC que você terá que distribuir junto com seus discos de instalação.

Se ao invés de resolver o seu problema eu acabei de bagunçar a sua cabeça , calma !!! Eu ainda não terminei...

A ADO é ideal para um ambiente Cliente/Servidor com acesso simultâneo de grande proporções. Neste caso nem pense em usar DAO , muito menos o Access , como base de dados.( ADO Data Control ? não me faça rir...). Nestes casos você deve usar um banco de dados mais potente : SQL Server , Oracle , Sybase , Informix , DB2 , etc...

Nestas situações a ADO é quase imbatível se comparada com a DAO além do que com a ADO sua aplicação se torna mais escalável e portátil ( se você usar SQL , procedimentos armazenados, etc...)

Resumindo:  

-  Aplicações locais ( monousuárias ) ou para ambiente multiusuário ( de 20 a 30 usuários concorrentes) -> DAO

-  Aplicações Cliente/Servidor com acesso concorrente de mais de 30 usuários -> ADO

Clareou, agora ...