Mir scheint das Konzept etwas ungeschickt, weil es
IMHO nicht notwendig ist für jeden einzelnen "Brick" ein eigenes Bitmap mitzuschleppen.
Es gibt 4 unterschiedliche Bitmaps (ganz, Loch, halb kaputt, kaputt) also benötigt man 4 Bitmaps (meinetwegen in einem Array, obwohl ich eher zu einer TList raten würde).
Jeder "Brick" merkt sich ja auch schon seinen Zustand, also wird beim Zeichnen einfach Zustand und Position ausgelesen und davon abhängig das entsprechende Bitmap aus der Liste an die Position gemalt.
Das ist nicht nur schlanker sondern sorgt auch noch für die Trennung zwischen Logik und Darstellung.