Once you commit to a particular program merging of GEDCOM files becomes "iffy" as it relates to sourcing specifics (as you have seen) as well as other data points that the majority of mainstream programs refuse to support or support incorrectly.
So to use a GEDCOM based application you need to realize that this move will generate a level of pain that, if you have a large database, may sink your enthusiasm. You will need to follow GEDCOM sourcing constructs. These constructs do not contain every datapoint suggested in the "Mills Standard" and require you to understand where to store in the GEDCOM data, as well as, how to build a good citation when you generate a report that requires a citation.
I've been using GEDCOM for a long long time, first with my own software. I'm a programmer so I wrote code to support the GEDCOM data points I used at the time which were more than other programs did. Later I invested in home based network and web server that I could write PHP, SQL based software. It was ok but not as good as the desktop software I wrote.
I now use a modified version of web trees, a web server based PHP MySQL application. For reporting, web trees does not have many reports, I again wrote my own program that reads in the database and builds reports that I use for distribution. This software requires a web server, you can run one from any Windows or Mac computer with free software, and knowledge of web site building.
Hope this helps!