Oggi sono diventato scemo per fare un inserimento di una data in MS Access… non ho capito bene il problema e se è un baco, ma praticamente se non converto la data evitando che ci siano i millisecondi access si incazza come una bestia… mahh!!

public override void Save(OleDbConnection conn)
{
    string sqlcmd = @"INSERT INTO miatabella (UserName, DteRichiesta) Values (?,?)";
    using (OleDbCommand cmd = new OleDbCommand(sqlcmd, conn))
    {
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("UserName", this.UserName);
        cmd.Parameters.AddWithValue("DteRichiesta", this.DteRichiesta);
        cmd.ExecuteNonQuery();
    }
}

Questa il metodo super complesso di conversione:

public static DateTime GetMSAccessDate(DateTime date)
{
    return new DateTime(date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second);
}