Una pregunta muy frecuente que he encontrado en foros y que muchas veces también me han preguntado es como resolver el problema de insertar valores en campos DateTime de MS SQL. El problema se presenta debido a los distintos formatos de fechas entre el servidor SQL y del equipo local que inserta la fecha-hora.
Una solución fácil es insertar la fecha con formato ISO, por ejemplo, el siguiente código construye una cadena que inserta un valor DateTime en una base de datos MS SQL:
cadenaSQL = "INSERT Production(Fecha) Values ('" + DateTime.Now.ToString("s") + "')"
Esta función puede ser utilizada tanto en Visual Basic como en C# y funciona independientemente de la configuración regional que se maneje en el servidor y el cliente.
Espero les sea útil 