Mejor

.
Como crítica constructiva, podrías añadir una propiedad AutoCenter:Boolean que fuese True por defecto ¿para qué? para que tu usuario se olvide de los TPanel y pueda usar el tuyo aun cuando no requiera la capacidad de autocentrarse.
Cuando estás creando una interfaz, es muy normal andar probando distintas alternativas y si tiene que cambiar el Tpanel por un TPanelcentrado es engorroso, si ya usa un TPanelcentrado, sólo tiene que poner AutoCenter a True o false para ver cómo queda la nueva interfaz

.
El cambio es simple:
Código Delphi
[-]
Tcustompanelcentrado=class(tcustompanel)
private
FAutoCenter:Boolean;
published propery AutoCenter:Boolean read FAutoCenter write FAutoCenter default True;
end;
constructor tcustompanelcentrado.create(aowner:tcomponent);
begin
inherited create(aowner);
finiciado:=false;
FAutoCenter:= True;
end;
procedure tcustompanelcentrado.CanResizecompo(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
if assigned(foncanresizedelform) then
foncanresizedelform(sender,newwidth,newheight,resize);
if FAutoCenter then
centrar;
end;
Saludos