Hi David
Sure \textdir works in vertical mode in luatex but luatex's behavior is buggy. For instance, consider the following minimal example {\textdir TRT This} is just a test. \bye As you can see there is no indent at the beginning of the paragraph and that indent is shifted as a space between `This' and `is' which is completely wrong. So to fix it, you have to issue a \leavevmode at the start of the paragraph but by doing that, you are already entering horizontal mode.
-------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex