Эти DLL файлы есть у Windows начиная с 98-го:
ADVAPI32.DLL - дополнительные функции API
COMCTL32.DLL - Windows Common Controls (toolbar, coolbar, striptab, etc.)
COMDLG32.DLL - Common Dialog (открыть, сохранить, печать, послать подальше... - продолжите список сами)
GDI32.DLL - вся графика в окнах программы (т.е. кнопочки, стрелочки, переключатели...)
USER32.DLL - вся часть API, обеспечивающая взаимодействие с ЮЗЕРОМ (чайником, ламером, кофейником - на ваш выбор)
VERSION.DLL - отвечает за контроль версии (а оно вам НАДО?)
SHELL32.DLL - работа оболочки (explorer, find files, форматирование диска методами инквизиции средних веков и т.п.)

OLE32.DLL - для обеспечения работы OLE

OLEAUT32.DLL

Две последние библиотеки под вопросом : если не используешь OLE, то можно выкинуть; я не уверен, есть ли она в 98-й, но в XP точно
В Windows XP по умолчанию установлена библиотека MSVBVM60.DLL, так что не надо мучиться.
Все DLL-ки хорошо поддаются сжатию

- до 75% при использовании
UPX (
http://upx.sourceforge.net); у меня стоит версия 1.24w от 17 ноября прошлого года - она самая стабильная [уже есть версия 1.90 но глючит по-страшному]. Вообще хороший архиватор. Не тормозит систему. Можно попробовать сжать MSVBVM60.DLL, но будет ли это работать на других машинах? Вот в чем вопрос.
Про кривой VB : Это не БАГ, это ФИЧА!!! Он не кривой, попробуй поработать с Borland Delphi - там библиотек до фига надо ставить (если конечно API не воспользуешься, оставив только класс
Windows). В MSVC++ это просто скрыто от пользователя. Ладно если ты пользуешься ATL, там гораздо меньше библиотек, а MFC!!! (правда, MFC входит в состав Windows и поэтому дополнительных файлов в дистрибутив добавлять не надо

)