Hola, me has tocado la fibra, soy un enamorado del MsFlexGrid, para estos casos suelo utilizar esta función
Código:
Public Function ColumnaGrid(Grid As Object, Titulo As String) As Single
' Devuelve -1 si no existe. Busca Titulo idéntico o sea Pepe <> pEpE
Dim Columna As Single
For Columna = 0 To Grid.Cols - 1
If Grid.TextMatrix(0, Columna) = Titulo Then
ColumnaGrid = Columna
Exit Function
End If
Next
ColumnaGrid = -1
End Function
Pruébala y ya me contarás