But remember FreeBSD and linux programs are never the same i.e. you can never run FreeBSD program on Linux and Linux program on FreeBSD without an emulator. So, actually FreeBSD is a totally different platform than GNU/Linux. So, the question of making programs compatible for differences never arises. It is just as same as porting a windows program to linux. They both are totally different OS's, remember. And moreover, those big companies hardly ever write good programs for BSD. Linux, etc. What they give OSS is s**t just to show that they support OSS. Most of the softwares seen on linux, BSD's, etc is not from big companies. Very few big companies support non-windows platform. They just care for profits, which is BTW what they do exist for.
Just to name a few. Use nero on windows and then use it on linux. It isn't anywhere near the same. Same goes for yahoo messenger. Even biggie like google. which claims to support OSS and is known to use linux on it's server, most of it's commonly used programs don't even exist on platforms other then windows.
So, the question of it becoming difficult to write softwares never arises because best softwares will most probably come from the community and the few companies who really support OSS.
I really feel companies like Yahoo, using FreeBSD on their servers and Google, using linux on their servers should stop making false claims about supporting OSS or come up and show their commitment by developing softwares for them.
So, it will rather make like easier for linux if FreeBSD comes up because both will have to compete and to win both the community will start making better applications to prove the superiority of their platform. And they would never compromise on the functionalities cos both the communities hitherto have been proud of their functional superiority over MS products.