proviamo una cosa alla volta

Delete:
sub dgData_Delete(obj as object, e as DataGridCommandEventArgs)
dim strSQL as string = "DELETE FROM tblUsers " & _
"WHERE UserID = " & e.Item.ItemIndex + 1

ExecuteStatement(strSQL)
lblMessage.Text = "Dovrebbe cancellare "& strSQL
FillDataGrid()
end sub

Dim ID As Integer
ID = TuaGrid.DataKeys(CInt(e.Item.ItemIndex))
Dim strSQL As String = "DELETE from tblUsers where UserID=" & ID

prova a cambiare cosi

mentre do un sguardo al resto del codice

ciao