Ihre Abfrage gibt nur Datensätze zurück, wenn sowohl A als auch zugehöriges B den Suchtext enthalten.
Du sagst aber nicht, was nicht geht.
Warum nicht LEFT OUTER JOIN bei der Volltextsuche und ersetzen:
SELECT *, (ISNULL(ftTableA.[RANK], 0) + ISNULL(ftTableB.[RANK], 0)) AS total_rank
und
WHERE ftTableA.Key IS NOT NULL OR ftTableB.Key IS NOT NULL