Nie umieszczaj w zapytaniu literalnych dat, zamiast tego użyj parametrów. W ten sposób nie musisz się martwić o format. Jest również bezpieczniejszy dla ciągów wprowadzanych przez użytkowników, ponieważ zapobiega wstrzykiwaniu SQL.
command.Text = "insert into myTable(myDate) values(?dateParam)";
command.Parameters.Add("?dateParam", theDate);