Character references are only used for characters that aren't present in the output encoding. If you want character references used for all non-ASCII characters, specify <xsl:output encoding="us-ascii"/>. Note that this means you cannot use any non-ASCII characters in element names, comments, etc.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference