si, è banale.

PRIMO: esplicita sempre i tipi delle variabili che dichiari, sennò non ci si capisce un mazzo.
SECONDO: inutile utilizzare il late binding per creare un recordset, dichiarale come

codice:
dim MyRs as new adodb.recordset

TERZO: se passi ad una varibile variant un campo del recordset in questa variabile viene memorizzato l'oggetto Field legato a quel particolare campo.

Sostituisci
codice:
prova = rec("testo")
con
codice:
prova = rec("testo").value