Risolto almeno parzialmente, per prima cosa nel file PHP ho forzato l'invio in formato json così:
Codice PHP:
$json = json_encode( $risposta );
header( 'Content-Type: application/json; charset=utf-8' );
echo $json;
poi in locale invece di jquery ho usate le funzioni native ECMAscript 5.1 ( le stesse che usa JQuery tra l'altro ) JSON.parse e JSON.stringify e ha funzionato:
codice:
var result = JSON.parse( JSON.stringify( json )); // Lavora solo da IE8 in su
dove json è la stringa rilevata dalla funzione .done( function ( json ) {} direttamente dal file remoto.
Apparentemente non ci sono differenze tra la stringa passata prima di usare queste modifiche e ora, ma adesso funziona e prima no.