Если я не прочитал вопрос неправильно, вы можете получить:
class A:BaseClass{}
class B:BaseClass{}
При T = A и U = B оба ограничения выполняются, но приведение от T к U явно недопустимо.
Если U - просто другой класс, то то же самое все еще применяется; Т, как известно, не находится в той же цепочке, что и U, если вы не указали его в ограничениях (ограничения общего характера могут включать другие аргументы универсального типа, если это помогает).