Hola! un insert "normal" de este tipo no te añade un NULL?:
Código:
...
Dim sqlCmd As New SqlCommand("INSERT INTO Tabla (fecha) VALUES (NULL)", conex)
conex.Open()
sqlCmd.ExecuteNonQuery()
conex.Close()
...
A lo mejor el problema está en que intentas insertar el valor de una variable tipo Date que realmente no es NULL, de hecho no pueden ser NULL, aunque no le des ningún valor siempre tienen un valor por defecto.
Saludos