Uw zoekopdracht levert alleen records op als zowel A als gerelateerde B de zoektekst bevatten.
Je geeft echter niet aan wat niet werkt.
Waarom niet LEFT OUTER JOIN de fulltext-zoekopdrachten en vervang:
SELECT *, (ISNULL(ftTableA.[RANK], 0) + ISNULL(ftTableB.[RANK], 0)) AS total_rank
en
WHERE ftTableA.Key IS NOT NULL OR ftTableB.Key IS NOT NULL