Alright, look, I'm not looking for an endless war here. So here's my last attempt to explain what's happening:

Old Version in which surfaces render correctly:
http://etgames.q.org.za/tmp/unDelphiX/unDelphiX-Old.zip

New version in which surfaces no longer render correctly:
http://etgames.q.org.za/tmp/unDelphiX/unDelphiX-07a.zip

Updated prototype project which uses the drawing method you suggested:
http://etgames.q.org.za/tmp/Prototype3.zip

The problem I'm having has nothing to do with transparencies. In software, rendering works, in hardware, it doesn't. If you switch to hardware, the surface is still rendered to the DXDraw surface, you can see a blue surface, but any rendering TO the surface before plotting it to the DXDraw surface does not work.

Thus, in software, you can see the surface changing colour because drawing to the surface is working. In hardware, the surface stays one colour because drawing to the surface is failing.