100% de acuerdo con los compañeros en cuando a lo de UPX y demás...
Y añadir, que si en la aplicación usas muchas imágenes, por ejemplo, es preferible que los TImageList, TImage, etc. carguen dichas imagenes de archivos y no que estén cargados en dichos componentes, pues eso si que engorda a los .exe.
Otra solución pasa por dividir en módulos la aplicación con DLLs o con Packages al estilo Delphi
Saludos