Has puesto la condición al revés: asignas valor DBNull.Value cuando la celda tiene contenido.
Debería ser:
If String.IsNullOrEmpty(row.Cells("LDA").Value) Then
.AddWithValue("@LDA", DBNull.Value)
Else
.AddWithValue("@LDA", Convert.ToDateTime(row.Cells("LDA").Value))
End If
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NET
Píldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...