encontre una manera mejor
Código vb.net:
Ver originalDim j As Integer
Dim k As Integer = 0
For i As Integer = 0 To ds4.Tables(0).Rows.Count - 1
j = ds4.Tables(0).Rows(i).Item("CL_MEMBRESIA")
If (j - k) = 1 Then
k = j
Else
mem_new = (j - 1)
Exit For
End If
Next i
If mem_new = 0 Then
mem_new = val_max + 1
End If
txt_membresia.Text = mem_new
Lo que hago es comparar el valor tomado por J con el valor anterior asignado a K y y asi obtengo el numero faltante, tu ejemplo funciona othix sin embargo el valor que me devolvia era cantidad de registros + 1 pero igual si se puede mejorar mejor mi codigo podrias ayudarme. Gracias por el apoyo