I think I get the question... it's been a long time since I've used CORBA, but I think you're asking why you have to call .narrow() on it rather than just casting it, right? This is because CORBA is made to work across a wide variety of languages, and all languages aren't object-oriented, so there's not a concept of "casting".
Write once, run anywhere, because there's nowhere to hide! - /. A.C.