Я думаю, что это связано с порядком операций JOIN.
В результате (ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ B) ВНУТРЕННЕГО СОЕДИНЕНИЯ C, вы хотите ВНЕШНИЙ ВНЕШНИЙ (ВНУТРЕННЕЕ СОЕДИНЕНИЕ B).
Попробуйте добавить туда ().
Или попробуйте изменить порядок своих СОЕДИНЕНИЙ, чтобы ... B ВНУТРЕННЯЯ C ПРАВАЯ НАРУЖНАЯ A, чтобы получить (B ВНУТРЕННЯЯ C) ПРАВАЯ НАРУЖНАЯ A.
EDIT:
Пример того, о чем я думал:
SELECT TableA.* FROM TableA
LEFT OUTER JOIN (TableB INNER JOIN TableC ON TableB.keyOfC = TableC.key)
ON TableA.keyOfB = TableB.key
WHERE TableA.key = aValue
Переключение на ПРАВО НАРУЖНО:
SELECT TableA.* FROM TableB
INNER JOIN TableC ON TableB.keyOfC = TableC.key
RIGHT OUTER JOIN TableA ON TableA.keyOfB = TableB.key
WHERE TableA.key = aValue
ПРИМЕЧАНИЕ. Простите, если это не работает, я не трогал SqlServer с версии 7.