non ho guardato la logica ma mi sono limitato a questo:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Pagina senza titolo</title>

    <script language="javascript" type="text/javascript">
// <!CDATA[

function Attiva(opzione)
{
    if(opzione.value == "A")
    {
       document.getElementById('A').style.display = "inline";
       document.getElementById('B').style.display = "none";
    }
    else if(opzione.value == "B")
    {
        document.getElementById('B').style.display = "inline";
        document.getElementById('A').style.display = "none";
        
    }
      
} 
// ]]>
</script>

</head>
<body>
    <select name="torneo_categoria" onchange="Attiva(this);">
        <option value=""></option>
        <option value="A">A</option>
        <option value="B">B</option>
    </select>
    <div id="A" style="display: none">
        <input name="opzione" type="checkbox" value="1" />1
    </div>
    <div id="B" style="display: none">
        <input name="opzione" type="checkbox" value="2" />2
    </div>
</body>
</html>
ps. Il formato che hai usato è un po' esotico, non l'ho mai visto; va bene che IE digerisce tutto, ma ogni cosa ha il suo limite