Testing your application under Linux Mint 1.8 Mate, Lazarus 1.8.4, FPC 3.0.4:
With Gtk2:
No progress is shown. Absolutely nothing.
Only when Application.ProcessMessages is added after each step, the progress is shown correctly. So, ProgressBar1.Refresh does nothing.
With Qt, however, it works correctly.
Further, when removing all Refresh calls, it also works!
Clearly, Qt and Gtk2 behave differently. Should be reported on bugtracker.