Als Benutzer fände ich es alles andere als angenehm, riesige Listen mit tausenden Einträgen vorgesetzt zu bekommen und mich mit millimetergroßen Scrollbalken herumzuplagen. Sollte man das nicht vielleicht besser filtern lassen und maximal n Einträge ausgeben?
8.000 Items dauern (Style: vsReport, keine Sortierung) bei mir 400ms auf 32 Bit und 270ms auf 64 Bit. Egal ob Delphi oder C++. Ich finde das eigentlich noch im Rahmen.
Hier noch ein paar Stolperfallen (fehlendes Begin/EndUpdate(), ...):
http://stackoverflow.com/q/9008310/2298252