It appears that InlineXMLCasConsumer depends on the system locale for some internal transformations. The output appears to be written in UTF8 (outStream.write(xmlAnnotations.getBytes("UTF-8"))) but when used on a machine with a locale of ASCII all accented characters get broken.
According to Thilo Goetz, the problem is likely caused by locale-dependent use of ByteArray in CasToInlineXml.java, e.g.:
// return XML string return new String(byteArrayOutputStream.toByteArray());