The construct "Sender.SomeProperty" seems to always work in the IDe with both library and intrinsic objects. However when optimised compiled it usually fails on library objects with an invalid cast exception as the compiler tries to cast it a specific type, like Control, or interface, like IText, which it does not necessarily inherit.
I don't know if the behaviour in the IDE is intended or a side effect but some clarification on the intended use of Sender and SenderFullName would be welcome.