Ho un altro piccolo problema. Il codice sorgente e quello nello zip del post sopra

Se nel codice inserisco ShowMessage('ciao'); la barra viene disegnata correttamente. Altrimenti senza, anche se la proprietà Position è 0, riempie tutti i blocchi.

codice:
for i:=0 to 20 do
 begin
  if (RoundTo(FPosition / 5, 0) > i) then
  begin
   ShowMessage('ciao');
   Bmp.LoadFromResourceName(HInstance, 'PROGRESS');
  end
  else
  begin
   ShowMessage('ciao');
   Bmp.LoadFromResourceName(HInstance, 'PROGRESSEMPTY');
  end;
  Canvas.Draw(2+(10*i),0,Bmp);
 end;
Argh