I want to emphasize that I am in no way speaking for the BaseX development team - I'm simply making remarks as a satisfied BaseX user. I would certainly like to see a potentially more efficient interface working, but I think merely assuming that the text-in/text-out approach is slow, is unwarranted - I suggest doing actual experimentation with your use cases and judging based on the results.
I do think it's throwing out the baby with the bathwater to want to "go with your own filesystem perhaps with an external text indexer." BaseX shines at optimizing queries using attribute and standards-defined XQuery Fulltext operators. You need only look at the nightmare of configuring and using eXist, which uses Lucene as an external text indexer, to compare how good BaseX is in that regard. Also, I have used the XQuery Update facility - also standards-defined - in BaseX to good effect on some serious projects that would have taken much longer to do with conventional Java programming.
Note that XQJ (JSR 225) itself is constantly spoken of as "currently under development." That said, clearly Dr. Grun and others of his development team are clearly interested in fixing problems - much more quickly than most open source projects, in my observation. But, if one wanted to assist in the development of a part of the system that one personally needs, I suggest that helping them shore up the XQJ interface would yield far larger gains than trying to hack up your own XML database system. It is, afterall, an open source project.
Phil Oliver