Em ADO:
oRs := Conexao:Execute( "SELECT COUNT(*) as nTot FROM information_schema.tables WHERE table_schema = 'basedados' AND table_name = 'country' " )
? oRs:Fields( "NTOT" ):Value
oRs:Close()
A diferença acaba sendo o formato do retorno, em ADO o formato é.... ADO.
Em SQLMIX é DBF, em hbMySQL é array.
No final, a escolha é sobre o que vai ficar mais fácil para o usuário e/ou o estilo de programação do usuário.
Lógico... se não for Windows não tem ADO.
Mas.... lógico também:
Mudar de DBF pra MySQL vai precisar mudanças nos fontes e na cabeça do programador.
Mudar de ADO pra SQLMIX ou hbMySQL, apesar de também ter mudança nos fontes, a cabeça do programador já vai estar "no esquema".