<p>While most operating systems and web browsers have very good support for <a href="http://en.wikipedia.org/wiki/Bi-directional_text" rel="nofollow noreferrer">bidirectional text</a> such as Hebrew and Arabic, most commercial and open-source software does not:</p>

<ul>
<li>Most text editors, besides the original notepad and the visual studio editor, does a very poor job. (And I tried dozens of them).</li>
<li>I could not find any file compare tool doing a decent job - No even Beyond-Compare.</li>
<li>Same thing for software and packages dealing with charting and reporting.</li>
</ul>

<p>Some questions I have:</p>

<ul>
<li>Do you share the same pain I do?</li>
<li>Is the software you write bidirectional compliant? Do you have bug reports about it?</li>
<li>Do you even know what are the issues involved? Do you test for them?</li>
<li>Any suggestions on how to make the software world a better place for bidirectional language speakers?</li>
</ul>

Do you share the same pain I do?
No.  And that's probably the answer: most people have no idea how bidirectional languages work.  I for example have some troubles working with that.  Because I'm interested in that topic quite a bit I was reading pango sources a while back, and that's probably the second reason why the support sucks: it's damn hard to get right.
I think the GNOME project has one of the best support for bidirectional user interfaces thanks to Pango (of course I can't verify that because I wouldn't be able to spot the problems).
But because you said "open source": I think the globalization support in open source projects is generally outstanding.  Linux sucks are pretty much everything, but internationalization is something they get right.
gettext is still one of the few translation systems that has a (I know half baked but) working pluralization system.
Is the software you write bidirectional compliant? Do you have bug reports about it?
Probably not.  I'm working on a web publishing software currently and that's one of the things I haven't tested at all so far :-(
Do you even know what are the issues involved? Do you test for them?
Bi-directional support is not no the direct roadmap.  So no tests for them, where the issues are I know from the translation interface I wrote for Plurk.
Any suggestions on how to make the software world a better place for bidirectional language speakers?
For an open source project: ask guys to help you that know where the issues are.  For closed source?  Hire someone who knows.