Applications should work the same, regardless or the X implementation that you use. At least to a big extent.
Xfree86 and Xorg are just different implementations of the X protocol. In fact, Xorg was born as a fork of Xfree86 4.4-rc2 (if my memory serves correctly). The fork happened because part of the team had concerns about the licensing policy of xfree, so xorg was born. It features some advanced capabilities that xfree did not have, at least by that moment. I have no idea of the current state of the things, because I haven't followed the xfree development.
There are many more alternative implementations of the X protocol. xfree and xorg just happen to be the most famous ones nowadays.