Riguardando la procedura, secondo me l'errore deriva proprio da come imposti la proprietà nel ciclo for-next :

codice:
Dim c As Integer = -1
For i = 15 To 0 Step -1
    c = c + 1
    DataGridView1.Columns(Index(i)).DisplayIndex = c
Next i
Ovviamente ordinando correttamente la matrice Index.


Ciao