Váš dotaz vrátí pouze záznamy, pokud A i související B obsahují hledaný text.
Neuvádíte však, co nefunguje.
Proč se LEFT OUTER PŘIPOJIT k fulltextovým vyhledáváním a nenahradit:
SELECT *, (ISNULL(ftTableA.[RANK], 0) + ISNULL(ftTableB.[RANK], 0)) AS total_rank
a
WHERE ftTableA.Key IS NOT NULL OR ftTableB.Key IS NOT NULL