Having one template with match="//Section" and another with match="Section" doesn't make sense. Both of them match any section, and the one with match="//Section" will always win because it has higher default priority. Further I would expect that
<xsl:template match="//section">
<xsl:apply-templates select="//section">
<xsl:sort select="@order" />
</xsl:apply-templates>
</xsl:apply-templates>
will cause an infinite loop, because every time you process a section, it causes every section in the document to be processed, including itself. Your sections in your sample document aren't nested so I've no idea what you are trying to do here: even if they were nested, select="section" would make sense but select="//section" wouldn't.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference