А как вы себе это представляете?
В первом случае у вас на сервер идут отдельные селекты по двум разним таблицам
Во втором что-то типа этого
X++:
select *
from table1
where exists(select 'x' from table2 where table1.[linkfield] = table2.[linkfield])
При этом в табличная переменная, связанная с table2 будет пустая
Не забывайте, что в FormDataSource хранится результат выборки.
PS Не совсем понятно, зачем их вообще связывать в рантайме. Добавьте к первому датасоурсу еще одну таблицу с нужной вам связью