Changing <Order> to <Order xmlns="rrn:org.xcbl:schemas/xcbl/v3_0/xcbl30.xsd"> is effectively renaming the element, because the element name has two parts, a local part and a namespace URI. I imagine you also want to rename all the children of the Order so they are also in this namespace.
To do this you want a recursive descent template like this:
<xsl:template match="*" mode="rename">
<xsl:element name="{local-name()}" namespace="rrn:org.xcbl:schemas/xcbl/v3_0/xcbl30.xsd">
<xsl:apply-templates mode="rename"/>
</xsl:template>
and then invoke this on the Order that you want to "copy" (it's not actually a copy at all, because you are changing the name of every element).
Note that if you create the elements with the correct names, the namespace declarations will look after themselves.
>I keep getting all tags modified when I try to use <xsl:if test="@name = Order"></xsl:if> in concert with <xsl:copy-of select="@*"/>.
You've got me completely puzzled there. Why are you using instructions that refer to attributes when your source document contains no attributes?
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference