Ich denke, ein DubbleBuffering mit einem TImage und einem TCanvas würde vollkommen reichen. Das hab ich mir selber ausgedacht, und ich glaube, ich muss das noch mal genauer erklären:
Du fügst ein TImage in dein Forumular, und ein TCanvas public oder private. In FormCreate erzeugst du das TCanvas und setzt die Ausmaße denen des TImage gleich.
Wenn du dann etwas zeichnen willst, zeichnest du es einfach in den TCanvas. Am Ende "flippst" du das ganze, das heißt, du kopierst den Inhalt des TCanvas in den Canvas von deinem TImage. Dann kannst du den Inhalt des TCanvas wieder löschen.
Das ganze funktioniert vollkommen flackerfrei, ist einfach, und du brauchst keine Engine. Ich denke, für Tetris müssten die Steuerfunktionen von Delphi vollkommen ausreichen. Sonnst kannst du ja GetAsyncKeyState benutzen. Das kannst du zum Beispiel in einem Timer einsezten.