Мне имхается, что если у вас есть несколько связей с одними и теми же наборами данных, то выполнение/невыполнение условия связи будет влиять на все связи по данным наборам.
Мыло мыльное, но резуюмируя по вашему примеру:
Не выполнение условия отменяет не одну связь, а сразу все связи.
(2) Но при этом вы все равно хотите сделать то, что задумали -)
Меняйте способ решения.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший