Bottom aligned StatusBar won't stay under bottom aligned Panel

I want to have a status bar and a panel aligned to the form's bottom
with the panel located above the status bar.  This so they maintain
their full width as the form is resized.  I also wish to change the
height of the panel (in form resize event) so it maintains say 20% of
the form's height.  What I observe is if the form is resized taller
than its current size plus the panel height, then the staus bar
location moves above the panel.  I've tried various combinations of
first setting the alignment to none, making changes and then returning
to bottom alignment.

If the Panel position is moved by its Top property such that the
panel's bottom is above the statusbar before its alignment is changed
back to alBottom, then this behavior is not observed.   However, if
the form's height is small, then made full screen, and then returned
back to that small size, the status bar is not visible.

procedure TForm1.FormResize(Sender: TObject);
begin

panel1.align := alnone;
application.ProcessMessages;

panel1.Height := form1.ClientHeight div 5;
application.ProcessMessages;

{ position the panle so its bottom is located above the status bar }
panel1.top := form1.ClientHeight-panel1.Height-statusbar1.Height-10;
application.ProcessMessages;

statusbar1.Align := albottom;
application.ProcessMessages;

panel1.align := albottom;
application.ProcessMessages;

end;