Irgendwie weiß ich immer noch nicht was genau das Problem ist...
Aber ich tipp mal so ins blaue hinein...
Falls im eigentlich letzten Durchgang der Schleife noch was gelöscht wird dann bringt
until I = TempList2.Count-1;
leider nix. Vielmehr müsste es dann heißen
until I >= TempList2.Count-1;
Genauso natürlich in der Abfrage darunter. Aber ob das des Rätsels Lösung ist weiß ich nicht, da ich keine Ahnung
habe was I, J oder TempList ist...
Außerdem ist es der Übersicht halber besser einzurücken...
Beschreibs einfach noch nen bissle genauer.