i register globals non importano più di tanto perché non si tratta dei parametri passati dal browser
poi, passare dei argomenti tramite variabili globali non é mai la miglior idea, com'é anche includere codice dentro una funziona oppure un'altra funziona - alcio ha datto la soluzione giusta
comunque, in caso che non lo puoi cambiare, il problema deriva dal fatto che includi test2 in b() é quindi la prima definizione della variabile la rende locale invece di globale, poi dentro a() peró l'accedi come globale quindi é diversa. dovresti definirla in test2 come global.