Vas a decir que que me importa, pero la rutina que haces para centrar se me hace que es mucho para tan poco, a simple vista hice otra basada en la tuya, espero que te sirva:
Código Delphi
[-]
procedure centrarmarco(marco: tframe; base: tpanel);
var
aux: Integer;
begin
aux := base.Width - marco.Width;
aux := aux div 2;
marco.Left := aux;
aux := base.Height - marco.Height;
aux := aux div 2;
marco.Top := aux - 20;
end;