A mon avis ça passe car tu ne renvoies plus une instance sur une classe mais une interface qui hérite de IDispatch, Ce qui est un type "standardisé COM" contrairement au type "TRate" qui tu as...