а что это за узел у Вас такой - current_structure_id?
Может быть все-таки $current_structure_id?
Вообще лучше показывать XML, в данном случае.
какая то у Вас конструкция choose странная (when внутри otherwise), попробуйте так:
<!-- Определяем стиль вывода ссылки -->
<xsl:variable name="menu_style">
<xsl:choose>
<!-- ID 94 -->
<xsl:when test="@id=94">menu_red</xsl:when>
<xsl:otherwise>
<!-- Активно (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">menu_active</xsl:when>
<!-- Иначе обычный вывод -->
<xsl:otherwise>menu</xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>