Uhm Access dovrebbe utilizzare il settaggio del sistema, che presumibilmente è in italiano, quindi a rigor di logica non dovrebbe nascerti l'errore.
Tuttavia non sono sicuro di questo, potrebbe essere che a prescindere dal sistema Access utilizzi sempre la sintassi anglosassone.
Il settaggio LCID influisce soltanto sullo script. Quindi se tu setti 1040 (italia) Now ti restituirà la data in formato italiano (giorno, mese, anno). Però non influisce sul db che evidentemente la legge in anglosassone (1033) e quindi inverte mese e giorno, a patto che sia una data accettabile (ovvio che un mese non può essere 31).
Per risolvere il tuo problema puoi fare in due modi: setti 1033 (ma avrai date sempre in formato anglosassone) o ti crei una funzione apposita per inserire le date nel db, del tipo:
Function DataDB(Data)
DataDB = Year(Data) &"/& Month(Data) &"/"& Day(Data)
End Function
e ogni volta che inserisci una data in una sql fai:
DataDB(Now)
Ciao!