OK, I forgot that Bart Broersma had given me this tip that takes care of switching based on BiDiMode for each control. But there was still a problem with the way the HintWindow displayed the text, but only when I used Hebrew text. Maybe there has been a change in Lazarus code because that problem doesn't seem to exist now:
Bart Broersma's Tip:
=============
In application.inc we find these commented out lines
// make the hint have the same BiDiMode as the activating control
//FHintWindow.BiDiMode := FHintControl.BiDiMode; <== Activate this line
in TApplication.ShowHintWindow