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