Гы, чтобы было плавное (сглаженое) обновление прогресс-бара, нужно:
-Процедуру обновления запихать в отдельный поток (без WAPI не обойтись)
-Заранее вычислить "константное" время выполнения всех этапов загрузи
-Определяя разность скорости выполнения происходящего этапа загрузки и "константной" загрузки, высчитывать скорость приращения значения прогресс-бара
А вообще зачем эти прогресс-бары всякие? Если для игры, то лучше уж выводить на экран что-нить почитать или посмотреть, или хотя бы просто красивую картинку, дабы юзеру не было скучно ждать. А чтобы он знал что гамеса не повисла - сделать какую-нить фиговину с анимацией, вроде крутящейся шестеренки (см. игру "Солдаты Анархии"). Прогресс-баров, имхо, в Винде хватает по самые нехочу