Ok so I've figured out how to fix this issue. It seems to be when you do an insert and your DetailsView has auto generated buttons it fails.
Basicly the statement was failing when it hit the auto generated rows.
FIX: I've added the following to my code (replace line 96 to 100 in \App_Code\Adapters\DetailsViewAdapter.vb)
If ((Not ControlAsDetailsView.AutoGenerateEditButton) AndAlso _
(Not ControlAsDetailsView.AutoGenerateInsertButton) AndAlso _
(Not ControlAsDetailsView.AutoGenerateDeleteButton)) Then
If ((Not ControlAsDetailsView.AutoGenerateRows) AndAlso _
((row.RowState
And DataControlRowState.Insert) = DataControlRowState.Insert) AndAlso _
(
Not ControlAsDetailsView.Fields.Item(row.RowIndex).InsertVisible)) Then
Continue For
End If
End If