Non è nemmeno tanto corretto fare affidamento a DISABLED per le OPTION o gli OPTGROUP, poiché IExplorer lo ignora con quegli elementi.
DISABLED rimane affidabile se assegnato alla SELECT e si disabilita tutto il menù.

Lascerei perdere quello script.
Prova il mio, se te la cavi (impari!) con le concatenazioni ' ' + e fai attenzione all' escape di eventuali apostrofi presenti nel testo/codice, come già:

' <option value="Prodotti cliente">Conferimento d\'Incarico</option>' +

(senza il carattere di escape \ che lo precede, ' interferirebbe con gli apici di delimitazione stringa).

codice:
<html><head>
<script>

function populateNext() {
  var firstChoice = document.main.argomento.selectedIndex;
alert('hai selezionato l\\' opzione ' + firstChoice); //poi questa riga la togli

  var theContainer = document.getElementById("seldiv");

     if ( firstChoice == 0 ) {
       theContainer.innerHTML = '<select id="select_6" size="1" name="servizio" disabled="disabled"><option>- - - - - - -</option></select>'
     } else {
     if ( firstChoice == 1 ) {
       theContainer.innerHTML = 
     '<select id="select_6" size="1" name="servizio">' +
     '<optgroup label="" id="ch_1">' +
     ' <option value="Prodotti cliente">Conferimento d\\'Incarico</option>' +
     ' <option value="Lavora con noi">Consulenza Pignorati</option>' +
     ' <option value="Corsi di formazione">Consulenza Personale</option>' +
     ' <option value="Corsi di formazione">Consulenza Privata</option>' +
     ' <option value="Corsi di formazione">Consulenza Fiscale Internazionale</option>' +
     '</optgroup>' +
     '</select>';

     } else {
     if ( firstChoice == 2 ) {
       theContainer.innerHTML = 
     '<select id="select_6" size="1" name="servizio">' +
     '<optgroup label="" id="ch_2">' +
     ' <option value="Friend">Friend</option>' +
     ' <option value="Associato">Associato</option>' +
     ' <option value="Affiliato">Affiliato</option>' +
     ' <option value="Head Hunter">Head Hunter</option>' +
     '</optgroup>' +
     '</select>';

     } else {
         //qui il caso 3 o ulteriori if-else
       }
       }
       }
  }

</script>
</head>
<body>
<form name="main">
    <select id="argomento" size="1" name="argomento" onchange="populateNext();">
    <option value="">Scegli un argomento </option>
    <option value="Prodotti cliente">Prodotti al Cliente</option>
    <option value="Lavora con noi">Lavora Con Noi</option>
    <option value="Corsi di formazione">Corsi di Formazione</option>
   </select> 
  

  <div id="seldiv">
   <select id="select_6" size="1" name="servizio" disabled="disabled"><option>- - - - - - -</option>
   </select>
  </div>

</form>
</body></html>
In pratica, si tratta di "costruire" di volta in volta la SELECT all' interno di un Elemento contenitore (DIV o TABLE/TD può anche essere), con .innerHTML