Welche Delphi-Version nutzt Du denn?
(Solltest Du mal in Deinem Profil einstellen.)
Wenn es eine aktuelle mit Generics und einem TComparer ist dann wird das Ganze vielleicht etwas einfacher zu lösen sein.
Ein Bsp. mal hier:
http://www.delphipraxis.net/1231518-post34.html