title: EIntfCastError 'Interface not supported' when run as a TServiceApplication
body: <p>I'm having problems using a COM-object when I run my application as a Windoes Service, i.e. TServiceApplication. The exception EIntfCastError 'Interface not supported' is raised.</p>
  
  <p>If I run the application as a normal Delphi app then it works fine, including if I run as a service using srvany.exe</p>
  
  <pre><code>type IMyInter = interface (IUnknown)
  ['{9E6B311E-C6D3-4687-B272-3FBE9DBC2DD6}']
  //...
  end;
  
  type 
    TMyObject = class
    private
      FMyInter: IMyInter;
    published
      constructor Create(const ClassID: TGUID);
    end;
  
  constructor TMyObject.Create(const ClassID:TGUID);
  begin
    CoInitialize(nil);
    FMyInter := CreateComObject(ClassID) as IMyInter;  
    //.... 
  end;
  </code></pre>
  
  <p>It seems like the error is raised after the call to CreateComObject when the result is going to be assigned to FMyInter. Both the application and COM-object are 32-bit. I'm running on Windows 7 64bit and using Delphi XE3. The COM-object has been registered with regsvr32.exe</p>
  
  <p>Any help would be appreciated</p>