Ansonsten ist
FindComponent hier auch immer gern empfohlen, allerdings lässt das dann relativ oft auf eine ungünstige Implementierung schließen. Wie erwähnt wäre hier möglicherweise dynamisches Erzeugen in ein Array of TShape der deutlich bessere Weg, und sehr oft (nicht immer) weist das Benutzen so vieler Shapes drauf hin, dass es letztlich besser wäre statt derer eine PictureBox zu nehmen, und selbst zu zeichnen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)