Es soll auch so etwas wie schlechte Programmierung geben.
Ich würde nur in einem Fall casten:
Delphi-Quellcode:
If MyInstance is TSomeObject then
TSomeObject(MyInstance).DoSomeThing;
In allen anderen Fällen würde ich assen
. Auch wenn es irgendwie klar ist, das das mit dem typecasting schon hinkommt, ist es dennoch nicht 'sicher', denn es kann theoretisch passieren, das die Typen eben nicht kompatibel sind.