Ok, dato che sono riuscito a risolvere (indovinate cosa mi ha permesso di risolvere il problema? esatto: aver posto la domanda), riporto anche la soluzione.
Il tutto stava nella variabile $session (mi ci è proprio scappato l'occhio una volta postato qui).
Codice PHP:
routineRequest.open("GET","synchro_routine.php?session="+"<?=addslashes(json_encode($session))?>");
routineRequest.send(null);
tutto qui. l'addslashes l'ho messo perchè altrimenti la variabile codificata con json conteneva apici e mi incasinava js.
dall'altra parte ho preso il contenuto di $session così:
Codice PHP:
$session = json_decode(stripslashes($_GET['session']));