вроде так, без проверка на nil:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var z,q:link;
n,i:integer;
begin
n := 4; //уделяем 4 элимент
if n = 1 then
begin
q := l;
l := l.next;
dispose(q);
end
else
begin
z := l;
for i := 1 to n - 2 do
z := z.next;
q := z.next;
z.next := q.next;
dispose(q);
end;
end;