Исходя из ваших предположений, и если ваш тип T всегда является интерфейсом, то прямое приведение к T сгенерирует исключение, если рассматриваемый интерфейс не реализован созданным экземпляром или если тип не имеет конструктора по умолчанию, который может быть названным.
Лучшим подходом, позволяющим избежать исключения, было бы ...
T interfaceVar = assembly.CreateInstance(classFullName) as T;
if (interfaceVar == null)
{
// oops, does not implement interface T
}
else
{
// yippee, it does implement interface T
}
Вы можете использовать отражение в целевой сборке, чтобы проверить, существует ли требуемый тип, имеет ли он конструктор по умолчанию и реализует ли он интересующий вас интерфейс. В этом случае вам вообще не нужно создавать экземпляр, если все Вы хотите знать, имеет ли он указанный интерфейс.