N.B. Il codice fa formattato e indentato (come da Regolamento) utilizzando l'apposito pulsante [ CODE ]
Stai facendo un gran casino, mescolando RDO e ADO. 
Lascia perdere RDO, vecchia tecnologia completamente abbandonata (che ha avuto vita breve), e lascia perdere pure DAO (ancor più vecchio).
ADO basta e avanza, dato che racchiude entrambe le tecnologie, e le migliora di molto!
Altra cosa: NON, ripeto NON, usare CreateObject() per gestire oggetti di ADO.
Invece, devi aggiungere al progetto il riferimento alla libreria:
Microsoft ActiveX Data Object 2.8.
Dunque, riparti da zero e tieni presente è necessario aver installato il driver ODBC 5.1 di MySQL (oltre a MySQL 5.x)
Io ad esempio faccio così:
codice:
Dim sConn As String
Dim CN As ADODB.Connection
Set CN = New ADODB.Connection
sConn = "Driver={MySQL ODBC 5.1 Driver}"
sConn = sConn & ";Server=localhost"
sConn = sConn & ";Database=" & sDBName
sConn = sConn & ";User=" & sUser
sConn = sConn & ";Password=" & sPwd
sConn = sConn & ";Option=3;Port=3306;"
With CN
.ConnectionString = sConn
.CursorLocation = adUseClient
.Open
End With
Naturalmente tu userai i "tuoi" parametri.
Poi per i recordset procedi normalmente.
Consiglio: lascia perdere le guide in Internet, perchè nel 90% dei casi sono vecchie, non vengono mai aggiornate, quindi incomplete e causano spesso più problemi che altro.
Meglio un buon testo ufficiale (es. MySQL 5 - Guida completa - M.Kofler - APOGEO).