I apologize for the long post, but this problem is not easily stated.
I recently wrote a piece of Java to reconfigure some SSIS packages for a colleague, using jdom to parse and manipulate the XML. The program worked, but the resulting files crashed. We were able to trace the crash to an odd mostly-nonprinting character in the original files, which was not reproduced in the files written by jdom.
What’s strange about this character is that it doesn’t show up in all editors. The Oxygen XML editor, for example, doesn’t even see it. However, in notepad, the original copyright notice appears like this:
<DTS:Property DTS:Name="TaskContact">Execute SQL Task; Microsoft Corporation; Microsoft
SQL Server v9; © 2004 Microsoft Corporation; All Rights
Reserved;http://www.microsoft.com/sql/support/default.asp;1</DTS:Property>
and the transformed version of the same element:
<DTS:Property DTS:Name="TaskContact">Execute SQL Task; Microsoft Corporation; Microsoft
SQL Server v9; © 2004 Microsoft Corporation; All Rights
Reserved;http://www.microsoft.com/sql/support/default.asp;1</DTS:Property>
(the problem character is the  just before the copyright symbol)
Running a global replace on the packages in question, where  -> “” and © -> “(c)”, made the problem go away, but now it turns out that the problem comes back when unmodified elements are put into the modified packages, so now I’m not as sure what is at the root of the problem.
Again, I’m sorry for the long post, but I didn’t want to leave out any details. Any insights or suggestions would be greatly appreciated; I’m pretty well stumped.
My colleague will be sending me error messages from his attempts to load these, I can post those if they’re useful.
As to the root of the problem: writing in one encoding and reading another. See my answer to this question. £ becomes £ Why? XML ISO encoding issue?
Just replace the pound sign, £, with the copyright symbol, © (unicode U+00A9). Hopefully you can find the place where the encoding mixup is occurring.