Debes utilizar el evento DrawCell para pintar la celda, ya que es el adecuado para ello; En todo caso en el PopupMenu lo que debes hacer es activar/desactivar un flag que te marque si se pinta el bitmap o no.
En el DrawCell coloca un código como éste:
Código Delphi
[-]
var
bmp:TBitmap;
begin
if (not MustPintar) then begin
Exit;
end;
if (ACol <> 1) then begin
Exit;
end;
bmp := TBitmap.Create();
Try
ImageList1.GetBitmap(0,bmp);
StringGrid1.Canvas.Draw(Rect.Left + 2, Rect.Top + 2, bmp);
finally
bmp.Free;
end;
Luego en tu popupmenu añades un código como éste:
Código Delphi
[-]
MustPintar := not MustPintar;
StringGrid1.Repaint;