If the savetext/usetext case is causing the behavior, it should be
possible within the entities to replace the _newline PIs with a tag
(preferably an empty, singleton tag) of your choosing or invention. The
e-i-c for this tag could then have the appropriate textbreak properties.
This would have to be *real* tag from your DTD, not a pseudo-tag. If you
don't have control of your DTD, this might be a problem. I have not
tested this, so I do not know if it works.
If it does work, then it should be easy to write some ACL to replace the
PIs, or just use a text editor and search/replace within the entities.