When I was heavily participated to the project, NebulaDevice2, one of the most painful but could not avoid thing was that merging stuff from Radonlabs to the open source community. It was not a problem only to me but to everyone who involved that project. Even the company used CVS for their VCS but open source community on SourceForge used SVN. So all patches sent to merge should be done manually.
And now, I suffer with almost same problem on my official project which is serviced over several countries. We uses SVN but as it is known, SVN does not well fit with branching. Due to that lack of the feature, it is hell to maintain all that different versions.(Damn, there are more than 10 different stream we should manage!)
Recently the concept of DVCS is raised to solve such a problem of traditional centralized VCS. At the first glance, the concept behind DVCS was not much clear but it was not after reading this article.(highly recommended for one to learn DVCS) In term of having distributed repositories it seems to provide easy way to merge from various work stream.
Another story on DVCS:
There was already an issue to use Mercurial, one of DVCS solution, for Nebula3. It is not sure to use that for the N3 for the Nebula community at the moment though but there might be many chances. Thus I'm seriously considering to use Mercurial(or any other DVCS if there is better one) on my official project.
I'll occasionally post later about any problem or issues concerned with the service of MMO game especially for its version controlling.(not so easy as it looks =)