Hola
reita_1985 Algo andas haciendo mal porque al hacer el
SelectedIndex, obtienes el indice del que está actualmente seleccionado, yo acabo de comprobar con el evento que mencionas y no tengo problema alguno :
Código vb.net:
Ver originalPrivate Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
MessageBox.Show(ListBox1.SelectedIndex.ToString())
End Sub
Para ver donde fallas pega tu codigo. Saludos!

.