Here is more info, answers to your questions:
"In the Host setup, for each server, there's a "data path" setting.
What is this set to, for the ones that work ok, and the ones that don't?"
I have attached an image showing the data path for each app. The app I'm having trouble with is the next to the last one, BCDBFormApp. They all look correct to me...none point to the host folder itself.
"And I suppose, since you are using appPath, what is the appPath set to?
I'd be inclined to have your code use self.site.datapath not self.site.apppath"
I tried replacing apppath with datapath, but this did not seem to change anything. How can I determine the appPath (or datapath) at runtime?