Sagen wir es mal so, wenn du im Code selber ein Object erstellst, dann kannst du auch gleich selber drauf reagieren.
Wenn es von der
VCL erstellt wird, dann weißt du ja nicht (genau) wann dieses geschieht und darum wurde dort dieses Ereignis eingeführt (und über die Interna hat ja rollstuhlfahrer schon was gesagt).
Außerdem kannst du im Code ja alles nötige notfalls per Parameter einem Create mitgeben. (wenn man sich selber eine Klasse erstellt)