Thanks for all the responses, I was expecting the answer to be a a simple yes or no so I did not bother to write a sample code with my question. But mse already provided the code, which also compiles in fpc 3.04.
@Thaddy: Yes the tutorial is exactly where I came from. I only want to use Corba because I don't want reference counting, because I do my own object management I want to make it simpler so I don't want to use an IDL if possible. If I remember correctly there was something about disabling the reference counting by providing empty procedures bodies to _AddRef and _Release to a COM interface. Also I don't really need to use "is" and "as" as an operator. I only need the functionality. So if there is a function which does the same I don't really mind.
All my interfaces have GUID's by the way. And the interface variables where I get the errror are fields of class instances.
Seeing this
itest = interface ['AA']{0}
confused me a bit.
So the interface GUID is just a unique string for Corba interfaces? What about COM, does it have to be a guid like this? ['{18740D8D-D2E9-4A76-A43D-DFC2057CD2FF}']