Über
row kannst du markierte Zeile finden, löschen sollte damit kein Problem sein.
Lass danach doch einfach alle folgenden Zeilen aufrücken, also:
Delphi-Quellcode:
for i:= sg.row to sg.rowcount-1 (?)
do
Reihe[i]:=Reihe[i+1] // Pseudo-Code
Erwarte das Beste und bereite dich auf das Schlimmste vor.