Il tuo object preso da XML contiene più chavi allo stesso livello. Quini ciclando il solo $datiCase , ogni $idCodice non sarà il singolo elemento <catagoria> ma potrebbe essere <categorie> che contiene a sua volta <categoria> e così via per ogni chiave allo stesso livello.
Se provi un
vedrai com'e' annidato.codice:echo '<pre>'; print_r($datiCase); echo '</pre>';
A meno che non ti serva cilcare tutto puoi ciclare direttamente le categorie usando $datiCase->categorie