Are you sure you want to fix this behavior? Consider that if you do the system on the other end is going to have to deal with non-ASCII characters coming out of their XML parser. If your encoding is set right then everything should still work, but I wonder if you wouldn't be happier just leaving it the way it is. If, as I imagine, this text will one day end up in a web-broswer "±" may be preferable to its UTF-8 equivalent.
All that said, if you want a better answer you might consider posting to the perl-xml mailing-list. Questions about XML encoding frequently get good answers there and the XML::Writer author has been known to post some of them.
-sam