wie wäre es mit sowas, nur als Anregung ....
Ziemlich genau das (aber mit komplizierterer Berechnung der Positionen) ist es ja was ich in dem Link mache, nur dass es dort bereits ein komplettes Programm ist.
Für den Anwendungszweck wäre es vielleicht sinnvoll die Komponenten selbst zu zeichnen. Eben ohne x separate Komponenten. Damit hatte ich selbst mit hunderten Elementen keinerlei Performanceprobleme.
Wie das geht siehst du hier, wenn auch dort (weil es nur ein Beispiel sein sollte) nicht sonderlich gut optimiert, insbesondere nicht was neue Features aktueller Delphiversionen angeht:
http://www.delphipraxis.net/901617-post.html