Fortunately I've overcome my "psychological factors" and I couldn't let this one slide by without further attention.  I have completed a new implementation of this Saxon/Xalan multi-factory test which implements Michael Kay's recomendations.   He is correct in pointing out the extra file I/O in my previous SAX parser strategy is wasteful. 
 
Posted here is my re-factor.  It adds a test of the base URI setting correcting the I/O exception I was receiving previously.  It also preserves the namespaces in the XSL templates.
 
Thank you for the gift of your time. Happy Easter to you as well.   
 
MultiFactoryTest.java
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.*;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
public class MultiFactoryTest
{
  static String data = "<xml>Hello World</xml>";
  static File template = new File("my-stylesheet.xsl");
  static String version = null;
  public static void main(String[] args) throws SAXException, IOException, XPathExpressionException, ParserConfigurationException
  {
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); 
    docFactory.setNamespaceAware(true);
    DocumentBuilder builder = docFactory.newDocumentBuilder();
    Document templateDoc = builder.parse(MultiFactoryTest.template);
    templateDoc.setDocumentURI(MultiFactoryTest.template.toURI().toString());
    XPath xpath = XPathFactory.newInstance().newXPath();
    version = xpath.evaluate("
/*/@version",templateDoc);
    TransformerFactory tranFactory = null;
    Transformer aTransformer = null;
    StringWriter result = new StringWriter();
    StreamSource src = new StreamSource( new StringReader( MultiFactoryTest.data ) );
    StreamResult dest = new StreamResult( result );
    if( "2.0".equals(MultiFactoryTest.version) )
    {
      tranFactory = new net.sf.saxon.TransformerFactoryImpl();
    }
    else
    {
      tranFactory = new org.apache.xalan.processor.TransformerFactoryImpl();
    }
    try
    {
      aTransformer = tranFactory.newTransformer( new DOMSource( templateDoc ) );
      aTransformer.transform( src, dest );
    }
    catch( javax.xml.transform.TransformerException e1 )
    {
      // Handle exception
    }
    finally
    {
      System.out.println( "RESULT:\n"+result.toString() );
    }
  }
 
my-stylesheet.xsl
<xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:include href="my-utilities.xsl"/>
    <xsl:template match="/">
        <html>
            <body>
                <p><xsl:call-template name="renderMessage"/></p>
            </body>
        </html>
        <xsl:message>
            XSLT Version: <xsl:copy-of select="system-property('xsl:version')"/>
            XSLT Vendor: <xsl:copy-of select="system-property('xsl:vendor')"/>
            XSLT Vendor URL: <xsl:copy-of select="system-property('xsl:vendor-url')"/>
        </xsl:message>
    </xsl:template>   
</xsl:transform>
 
my-utilities.xsl
<xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template name="renderMessage">
        <xsl:text>HELLO WORLD!</xsl:text>
    </xsl:template>   
</xsl:transform>