Penso che l'eccezione sia dovuta al fatto che stai tentando di inserire 'ffff' dentro un campo di tipo Data/Ora. La cosa migliore da fare, per svariati motivi, è quello di evitare la scrittura dei valori direttamente nel testo della query ma servirsi dei parametri. In pratica al posto dei valori metti un ? (funziona solo in Access, in sql server si scrive @nomeparametro) e aggiungi i parametri all'oggetto OleDbCommand:
codice:
String sql = "INSERT INTO evento (id_contatto, testo, note, data) VALUES (?, ?, ?, ?)";
OleDbConnection aConnection = new OleDbConnection(connectionString);
OleDbCommand aCommand = new OleDbCommand(sql, aConnection);
aCommand.Parameters.Add("?", OleDbType.Integer).Value = 3;
aCommand.Parameters.Add("?", OleDbType.BSTR, 50).Value = "luca"; //50 = lunghezza max consentita dal campo
aCommand.Parameters.Add("?", OleDbType.BSTR, 255).Value = "aaaa";
aCommand.Parameters.Add("?", OleDbType.Date).Value = DateTime.Now;
Il resto del codice prosegue come di consueto.