Alle nicht benutzten Variablen und Prozeduren werden nicht mit kompiliert.
Allerdings kapselt Delphi bekanntlich die Win-
API in der
VCL was zum Teil diese 'aufgeblähten' exe's verursacht.
Die exe's bei VB mögen vielleicht etwas kleiner sein, dafür brauchst Du da die VBRUNxxx.dll.
In Delphi kannst Du unter Projekt / Optionen übrigens auch einstellen, welche Packages statisch dazu gelinkt werden sollen .
Wenn Du da einige Packages weg lässt, dann wird die exe ggf. auch kleiner, dafür mußt Du dann einige
dll's zusammen mit dem Programm mit ausliefern, was sonst bei Delphi-exes nicht notwendig ist.