Вызов .ne 4.0 из .net 2.0 действительно возможен. Проблема не в этом, но я не думаю, что вы можете отправить пользовательский контроль через!
Я делаю это в пару раз, когда я прохожу простые классы от 4.0 до моих сборок 2.0. Хитрость заключается в том, чтобы зарегистрировать сборку 4.0 как ServicedComponent (COM +), а затем совместно использовать интерфейс (.net 20) между этими сборками. Затем в вашей сборке .net 2.0 создайте экземпляр ServicedComponent и извлеките экземпляр вашего интерфейса из сборки "middleware".
Как уже говорилось, через это можно передавать только интерфейсы, и, как мне кажется, будет сложно составить маркер сложного типа как UserControl.