Der Trick dabei ist, dass Du das DblClick des Grids verwenden musst. Zusätzlich musst Du bei den ImageColumns ReadOnly auf True setzen, sonst wird der DblClick nicht an das TGrid weitergereicht. Über grid.columnIndex und grid.selected erfährst Du, auf welche Zeile und Spalte geklickt wurde:
Delphi-Quellcode:
procedure TForm59.Grid1DblClick(Sender: TObject);
begin
ShowMessage ('Click on: Col ' + grid1.ColumnIndex.ToString + 'Zeile:' + Grid1.Selected.ToString);
end;