Hey guys, I'm one of the maintainers of MobileOrg for Android. We've worked really hard to try to implement as many of the features of org-mode as we can and make it comfortable to use for the majority of people. A couple of points:
- Originally we were just storing the org files and parsing those on demand instead of using a database. This proved extremely cumbersome when we wanted to add more features, and it really did not scale well when people had very large org files. We made a decision a while ago to switch to a database almost exclusively for this reason, but there were a lot of other smaller reasons that also made it worthwhile.
- The reason we do syncing the way that we do is to fit into org-mode's org-mobile-* concept. Keeping multiple sets of plain text files in sync with emacs in the loop is no simple task. The org-mobile-* functions were already defined and well used when I started writing the Android port of MobileOrg. It may be suboptimal but currently it is the best and easiest (from the development side) way to keep a remote device and an instance of emacs in sync. I'm actually not even sure if the org-mobile-* routines are even maintained anymore. The synchronization problem is not as easy as just overwriting the files, however.
- If you have issues and you don't tell us then we have no way of helping you and the problem might not go away. We try to stay on top of showstopping issues for our users (we have an email address and a bug tracker linked to in the app store) unfortunately some folks just leave a 1 star review and uninstall and never contact us.