Почти все реальные приложения Delphi используют VCL, а также совершают случайные прямые вызовы Win32 API. Каркас VCL вызывает Win32, в конце концов, в любом случае. Таким образом, вы почти всегда будете использовать оба.
Парень, который упомянул KOL, предлагает еще один "средний" слой, потому что идти прямо очень болезненно.
Microsoft имеет (в историческом порядке) MFC и ATL для C ++ и .NET для языка C # / VB.net в качестве «каркасных» уровней, которые существуют между вашим приложением и сырым Win32 API, для их MS Visual Студия товаров.
Люди, которые пишут что-то более сложное, чем Notepad.exe, обращаются прямо к «металлу» (Win32 API raw) редко. Так что это сложнее, это займет больше времени, чтобы учиться и делать все. И в конце концов, это не значительно быстрее или лучше. Если вам действительно нужно быть маленьким (например, вы пишете вирус), возможно, вы захотите использовать Win32 native.