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).