Scusa, hai indicato VB6 ma non è VB6!
Ad esempio, Application.CurrentDb
non esiste in VB6.

Le istruzioni usate mi sembrano più dell'ambiente Microsoft Access.

Puoi specificare meglio?

In ogni caso il problema è sicuramente la data, che nelle query eseguite in un database ACCESS (MDB) deve sempre essere indicata nel formato americano MM/DD/YYYY e racchiusa tra cancelletti:

codice:
Data Prot = "#" & Format("MM/DD/YYYY", "28/12/2010") & "#"
Comunque nelle query di INSERT/UPDATE è raccomandato l'uso dei parametri (ma io uso ADO, e dato che usi DAO non so consigliarti al riguardo).