Hola, para buscar el mayor no recorrería ni el DBGrid ni el DataSet, lo haría con otra consulta que me de el Max de las 4 columnas y tendría las mismas condiciones que la consulta que se muestra en el DBGrid.
Código Delphi
[-]
OtroQuery.Close;
OtroQuery.Sql.Text := 'select Max(campo1), MAX(campo2) From tabla';
OtroQuery.Open;
Y si tienes que hacer calculos sobre tus columnas, podrías crearte un campo calculado.
Saluditos