делай так:
Код:
mem1:=0;
while mem1<=ListBox1.Items.Count do
begin
if DaysBetween(TDateTime(Now()), StrToDate(copy(listbox1.Items[mem1], pos('=',listbox1.Items[mem1])+1,length(listbox1.Items[mem1])))) > 1 then
begin
listbox1.Items.Delete(mem1);
dec(mem1);
end;
inc(mem1);
end;
или же второй вариант c DownTo вместо To