Hi Paul,
Those three bytes are the BOM (Byte Order Mark) of the serialized document. Unicode text can optionally be marked with a BOM. Its pourpose is to serve as a header to the Unicode text that follows it so that the applications that try to read it can infer its encoding promptly. In your case, the bytes 0xEF, 0xBB and 0xBF are being generated because this is the BOM for UTF-8 Unicode text.
So, this is perfectly normal, and should be understood by all XML parsers and browsers. Since I don't know how you are trying to load this document, I wont make any suggestions about how open it in a browser. Maybe this information can make things a little bit cleaner and hopefully will help you to solve the problem.
HTH.