?
Zwei Vorschläge plus ein schlauer Spruch:
(a) statt mit Pixel[x][y] zu arbeiten, greif' lieber mit Zeigern und Scanline() /* wenn ich mich richtig erinnere */ auf die Bilddaten zu. Einen Zeiger mit ++ über 'ne Zeile laufen zu lassen, ist erheblich fixer, als der Weg über Aufrufe in die VCL für jeden Pixel.
(b) fast jede Hardware unterstützt heutzutage Alphablending. Mit DirectX kann man Surfaces wunderbar per Hardware alpha-blenden. Das ist sogar relativ einfach... wenn man DX erst einmal in seiner Applikation zum Laufen gebracht hat. Der Borland Builder macht einem die Sache bei DX9 dabei auch nicht angenehmer.
Wenn das Alphablending bei deiner Anwendung eine Hauptrolle spielt, ist DirectX die beste Wahl. Wenn das Blending nur ein netter Gimmick am Rande ist, eher nicht.
Schlauer Spruch: bei Windows 2K und XP ist Alphablending an verschiedenen Stellen in der API berücksichtigt. Mach dich da einfach mal schlau. Die Chancen stehen gut, dass WinAPI-Funktionen ebenfalls die Hardware für's Alphablending nutzen.