Y bien aquí estoy. Estuve dándole vueltas a tu código hasta me dieron ganar de copiarlo

pero nada que no encuentro que "cosa" haces para que se modifique. Así que me creé este:
Código Delphi
[-]procedure TForm1.Button10Click(Sender: TObject);
var y: integer;
begin
l.Items.clear; for y:= 1 to t.rowcount-1 do begin edit1.text:=t.cells[1,y];
edit2.text:=t.cells[2,y];
edit4.text:=t.cells[3,y];
edit5.text:=t.cells[4,y];
button1.click;
end;
end;
Cosas buenas:
- Hace lo que quiero que haga (cuando una persona esta en la rejilla y le modifico o sin modificar) guarda todos los datos de la rejilla en el listbox (limpiándolo previamente).
Cosas malas:
- Las personas no estan ordenadas por ningún criterio, así que cágate (perdon xD) cuando mi "hospital" tenga 1239123947823984905 usuarios y la muchacha de recepción le de por buscar al paciente Pepito Gomez (se muere

).
Jajaja que te parece tio

voy a seguir echándole un ojo a eso de hacer llamadas a tu forma que me gusto!