Yo probaría el evento OnSelecCell, utilizando la columna y fila que te devuelve para pasarle a la SG el método que corresponda.
Puedes crear un Set (por ejemplo "Estado") que diga cuando el evento tiene que escribir, borrar, etc...
Código:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
//si Estado es Escribir, escribir en la celda especificada por ACol y ARow
//si Estado es Borrar, borrar la celda especificada por ACol y ARow
end;