Ci sono errori nel codice:
codice:
Public Class Form1
Dim g(26) As ListViewGroup
Dim l As New ListViewItem

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim i As Integer
  Dim ix As Integer
  Dim elemento As String
  Dim iniziale As String
  'parametri connessione database
  for i=0 to 'totale record database
    elemento = dr.tables("anagrafe").row("cognome") + " " + dr.tables("anagrafe").row("Nome")
    iniziale = elemento.Chars(0)
    l.Text = elemento
    l.Group = ListView1.Groups(asc(iniziale.tolower(0)) - 65)
    ListView1.Items.Add(l)
  Next i
End Sub

Sub creazione()
  Dim i As Integer
  Dim iniz As Integer = 65
  For i = 0 To 25
    g(i) = New ListViewGroup
    g(i).Header = Chr(iniz + i) '<--- Qua avevi creato 26 gruppi con Header = 'A'
    ListView1.Groups.Add(g(i))
    Next i
  End Sub
End Class
Poi non ti visualizzava niente perchè 65 è il codice di 'a' minuscola, quindi tutti gli header eranoo minuscoli, mentre i nomi maiuscoli. Poi c'erano anche errori nel codice. Ora dovrebbe andare.