В третьей версии Аксапты подобный запрос так же как в AX 4 отрабатывает без ошибки, но мне кажется, что запрет использования табличной переменной в условии запроса(where...) без указания конкретного поля в AX 2009 вполне логичным и правильным. Скорее всего, этот нюанс в пятой версии Аксапты был устранен.
А вообще запрос, по-моему, не очень корректный, т.к. табличная переменая rHRMOrderTrans в любом случае окажется пустой. Возможно так было бы правильней:
X++:
select orderTrans
join rHRMOrderTable where rHRMOrderTable.RecId == orderTrans.OrderTableRecId
outer join rHRMOrderTrans where rHRMOrderTrans.RecId == orderTrans.RecId;