Ähh ja, hast recht, hatte einen Denkfehler.
Delphi-Quellcode:
var
IntfA: IIntfA;
IntfB: IIntfB;
begin
IntfA := TMyClass.Create;
IntfB := TMyClass.Create;
Hierbei werden ja zwei komplett andere, inkompatible Interfaces erzeugt, die sich deshalb auch nicht casten lassen.
Trotzdem schade, dass die Mehrfachvererbung bei Interfaces so nicht geht. Ist irgendwie unintuitiv. Ich bin sicher, man hätte das technisch auch anders lösen können... aber nun denn... muss wohl damit leben.