A
In der Regel /erwarte/ ich, daß Sender eine Komponente ist (schließlich habe ich das Event selbst gesetzt), also sollte nichts passieren. Wenn tatsächlich mal bad_cast fliegt, fängt es die VCL, und es geht nichts kaputt - aber ich weiß dann (z.B. per automatisiertem Exception-Report, -> JclDebug), daß ich an der Stelle einen Bug habe.
Es ist an dieser Stelle einfach die sichere Variante eines static_cast<>. Das scheint mir angebrachter als den Cast explizit zu überprüfen und den Handler zu verlassen - das ist eindeutig eine Situation, die eigentlich nicht auftauchen sollte. Wenn das passiert, stimmt in deinem Programm etwas nicht, und wenn du einfach so abbrichst, kaschierst du das nur.