How about changing the template to match TheReoponse
and then do an explicit namespace cast like this:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:tns="namespace1"
xmlns:SOAP-ENV="SOAP"
xmlns:xyz="namespace">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/SOAP-ENV:Body">
<xsl:copy>
<abc:SomeServiceResp xmlns:abc="SomePackage.SOAP.SomeService">
<xsl:apply-templates/>
</abc:SomeServiceResp>
</xsl:copy>
</xsl:template>
<xsl:template match="xyz:TheResponse">
<tns:TheResponse xmlns:tns="namespace">
<xsl:attribute name="Status">
<xsl:value-of select="@Status"/>
</xsl:attribute>
<xsl:copy-of select="*"/>
</tns:TheResponse>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>