Hola jonydread.
Es innecesario recorrer la tabla, este código:
Código Delphi
[-]
...
begin
Zquery1.Close;
Zquery1.SQL.Text := 'DELETE FROM DATOS WHERE TIPO = :PTIPO';
Zquery1.ParamByName('PTIPO').AsString := listview1.Selected.SubItems[1];
Zquery1.ExecSQL;
end;
borra todos los registros de la tabla
DATOS cuyos campos
TIPO tengan un valor igual al contenido en
listview1.Selected.SubItems[1].
Saludos.