You've not defined DataColumn.DataType for this column:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim col As Column
For Each col In Me.FlyGrid.Columns.Items
Dim dc As DataColumn = New DataColumn(col.FieldName)
If (col.FieldName = "DateTimeColumn2") Then
dc.DataType = System.Type.GetType("System.DateTime")
End If
dataTable.Columns.Add(dc)
Next
End Sub