First off, don't do that. Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
This may also solve your problem, since instead of converting a DateTime into a string and then sendign it to SQL which converts it back to a DateTime (with the possible errors that involves) you send the DateTime directly, and it is always stored as what you sent - there is no interpretation going on.
(And I'm going to ignore the error in the format string which is sending the current minutes to SQL...)
Using con As New SqlConnection(strConnect)
con.Open()
Using com As New SqlCommand("INSERT INTO myTable (myColumn1, myColumn2) VALUES (@C1, @C2)", con)
com.Parameters.AddWithValue("@C1", myValueForColumn1)
com.Parameters.AddWithValue("@C2", myValueForColumn2)
com.ExecuteNonQuery()
End Using
End Using