Hey, stumbled accross this thread earlier today, and thought i'd have a go in size optimizing. I took the code from example 2.1a at sulaco, stripped it, (got rid of "useless" stuff like error messaging ) stripped it some more, and then stripped it even more. The exe was still to big. When packed with upx, it was 13-15kb or something. Then, I downloaded a modified system.pas file, and voilA , the exe was down to 12kb unpacked. After lots and lots of "optimizing", I managed to get the code down to 9kb unpacked (9 216bytes to be excact, with three rotating cubes, two wireframed and one solid).
After deleting the RCData package info and overwriting the resource dvclal with an empty file using ResourceHacker, the file lost a couple of bytes. I then downloaded a program called Realign which realigns Windows EXE files and deletes the DOS stub, making the file more compression friendly. I also used FakeCom.com which is an a small program, "which extracts data contained at the end of file and runs it". If you upx' the file after these operations, it will compress the whole file. (otherwise it won't tuch the exe headers)

The result: a 3 609 byte Delphi OpenGL program which displays three rotating cubes; two wireframed and one solid.

Im sure it can be optimized even further.

BTW: I also made a version with a simple noise texture generator (from the thread at the OpenGL forums), which resulted in an 4 462 byte app.

Inspiration gathered from http://scene.migeel.sk/intro4k.html