ok, penso di aver capito.
ma non riesco comunque a trovare una soluzione.

ora ho provato a modificare lo script cosi:

Codice PHP:
$cart =new Cart();
$_SESSION['cart']=$cart
Cosi lui crea in $cart la classe e poi la assegna alla sessione.

In questo modo il print_r restituisce

Codice PHP:
Array ( 
[
session_value] => 0f565ed469f2d82f9d246227fcce4164 
[cart] => Cart Object 
  [
nuovo] => 
  
[vecchio] => 
  
)

Per se passo un nuovo valore alla funzione add della classe cart, non manteniene in memoria il vecchio valore..