Ответ 1
Раздел 10.9.3 спецификации С# говорит об этом. Краткая версия заключается в том, что она запрещена, так что пользователь может быть уверен в том, что преобразования между ссылочными типами и интерфейсами будут успешными тогда и только тогда, когда ссылочный тип фактически реализует этот интерфейс и что при этом преобразовании происходит тот факт, что на тот же объект фактически ссылаются.
Определение неявного или явного преобразования между ссылочными типами дает пользователю ожидаемое изменение ссылки; в конце концов, одна и та же ссылка не может быть двух типов. С другой стороны, у пользователя нет ожиданий для конверсий между ссылочными типами и типами интерфейсов.
Преобразования, определенные пользователем, не допускаются для преобразования из или в типы интерфейса. В частности, это ограничение гарантирует отсутствие пользовательских преобразований при преобразовании в тип интерфейса и что преобразование в тип интерфейса завершается успешно только в том случае, если преобразованный объект фактически реализует указанный тип интерфейса.