Aiuto sto diventando pazzo per questo problema nessuno che è incappato in questa cosa??!!

ho fatto un'ultima prova e dopo questa non so più che fare!

ho creato da zero un nuovo progetto, semplicemente inserito un form e una datagridview con due colonne testo e avviato il progetto ho popolato manualmente la prima colonna con semplici numeri a caso 1,4,3,7,... la seconda colonna con numeri in ordine crescente da 10 in poi 10,11,12...(per testare il comportamento naturale di ordinamento)
allora clicco per ordinare la prima colonna e tutto si ordina secondo i valori della prima colonna, clicco per ordinare la seconda colonna è come normalmnete accade ordina tutto secondo i valori della seconda colonna.

allora scrivo il codice nell'evento SortCompare, così quando si va a odinare la seconda colonna, riodina tutto secondo i valori contenuti nella prima colonna:
codice:
Select Case e.Column.Name
    Case "Column2"
        Dim Val1 As Integer = CType(.Rows(e.RowIndex1).Cells("Column1").Value, Integer)
        Dim Val2 As Integer = CType(.Rows(e.RowIndex2).Cells("Column1").Value, Integer)
        
        e.SortResult = Val1 - Val2

        'scrivo l'esito della comparazione nella finestra di debug
        Debug.WriteLine(Val1 & vbTab & Val2 & vbTab & "e.SortResult= " & e.SortResult)
    End Select
bhe non cambia nullaaaaaaa, esattamente come se il codice immesso non serve a nulla.... se vado per ordinare la seconda colonna e la ordina sempre secondo valori della seconda colonna!!!!!!!!!!!!
eppure dal debug (attraverso la riga di codice che ho inserito per prova) l'evento viene eseguito, addirittutta e.SortResult assume i giusti valori a ogni comparazione..

questo trovo scritto nella finestra di debug:
codice:
9	8	e.SortResult= 1
9	1	e.SortResult= 8
8	1	e.SortResult= 7
7	8	e.SortResult= -1
3	8	e.SortResult= -5
4	8	e.SortResult= -4
8	5	e.SortResult= 3
8	6	e.SortResult= 2
8	2	e.SortResult= 6
9	7	e.SortResult= 2
9	4	e.SortResult= 5
7	4	e.SortResult= 3
7	3	e.SortResult= 4
3	4	e.SortResult= -1
2	6	e.SortResult= -4
2	1	e.SortResult= 1
6	1	e.SortResult= 5
6	5	e.SortResult= 1
5	1	e.SortResult= 4