It looks as if there's some problem with the downstream application that's processing your XML output. By default your output will be encoded in UTF-8, perhaps the downstream application isn't decoding it correctly.
See what happens if you do
<xsl:output encoding="iso-8859-1"/>
or even
<xsl:output encoding="us-ascii"/>
The latter will force the character to be output as a character reference, for example &_#xa3; (without the underscore).
Note that &_pound; is recognized in HTML, but not in XML unless you declare it in your DTD.
There's little point, incidentally, in telling us your problem is urgent. In fact, I usually ignore posts marked as urgent because it often means the poster is panicking and won't take the time to think about the response before posting the next follow-up.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference