Lo script mi sembra corretto.

A sto punto potrebbero esserci uno dei questi 2 problemi:

1) la tua versione di PHP è precedente al 4.0.7

2) Il serialize ha problemi con gli array multidimensionali (non l'ho mai usato con array multidimensionali quindi potrebbe essere, ma non avrebbe molto senso essendo una funzione per la serializzazzione di oggetti).

Prova a fare dei print_r di debug (magari formattati con i <pre>) e postarli, cosi vediamo se magari l'errore non sia nel retreiving dei dati...