El índice de la fila seleccionada de un DBGrid (propiedad Row) es un propiedad protegida (sólo accesible por clases descendientes) y lo es por una buena razón: un DBGrid, al igual que cualquier otro componente enlazado a datos, simplemente refleja el contenido del dataset (Table, Query, etc.) al que está conectado. Conforme te mueves por el grid el registro activo en el dataset cambia y es a éste al que debes pedir información mediante los métodos FieldByName o similares. Por ejemplo, para obtener la información del campo 'producto' del registro actual, harías algo como:
Código Delphi
[-]
Producto := Table1.FieldByName('producto').AsString;
y usas el valor de Producto para pasárselo al ComboBox o a cualquier control quieras.
// Saludos