Der Textinhalt der 1.Spalte ist ja immer die Nummer der entsprechenden Zeile, also
StringGrid1.cells[0,ZeilenNummer]:=IntToStr(ZeilenNummer+1); //da von 0..rowcount-1
Und die
OH gibt
StringGrid1.rows[NummerDerLöschZeile].clear
zum löschen, sowie
StringGrid1.rows[NummerDerLöschZeile-1]:=StringGrid1.rows[NummerDerLöschZeile];
zum kopieren her. (Musst dann aber noch StringGrid1.cells[1,ZeilenNummer] aktualisieren)