Entiendo que tu programa digamos que usa programación concurrente (varios hilos a la vez).
Para que no se alteren las variables tendrías que definir semáforos, o bien hacer algo similar.
Es decir, por lo que dices, supongo que tendrás algo como:
funcion1(){
//accede a SESSION['var1'];
}
funcion2(){
//accede a SESSION['var1'];
}
y ambas funciones a la vez, ¿no?
De ser así, tendrías que indicar mediante semáforos el orden de ejecución.
Si ese es el caso, lo miramos con calma
Saludos