Generally speaking it should not matter whether to user CDATA or entity encoding.
This makes me wonder: Do we fail to properly encode certain entities? Or is the parser incapable of properly dealing with encoded entities? Please share an example that is invalid XML according to your parser.