Nur mal zur Erklärung:
SetWidth ist in TControl als
privat deklariert und
nicht virtuell oder dynamisch. Deshalb kann es nicht überschrieben werden.
Delphi-Quellcode:
TControl = class(TComponent)
private
procedure SetWidth(Value: Integer);
...
M.E. sollten nahezu alle Methoden virtuell deklariert sein, damit man zumindest die Möglichkeit hat, noch etwas zu optimieren.
Natürlich muss man dann auch wissen, was man tut

Ebenso sollten Methoden grundsätzlich nicht privat sein. Der protected-Abschnitt hat doch keine Nachteile und bietet wenigstens die Möglichkeit, eine nützliche Änderungen vorzunehmen.
Warum sind die Standardkomponenten so "unnötig stark" abgeschottet?