Mira la verdad no tengo mucho tiempo para checar tu Codigo!!
Pero aqui te posteo un Ejemplo sencillo de como guardad y manipular Arrays con los SO.
Código:
//Array a guardar
frutas_array = ["Mango", "Piña", "Manzana", "Pera"];
//Buscamos el archivo .sol si existe tomamos sus valores
so = SharedObject.getLocal("frutas");
if (so.data.soFrutas != null) {
//Si existe la Info la tomamos y la metemos en un nuevo array
//Ya que Flash No sabe que tipo de info es
nuevo_array = so.data.soFrutas;
for (i=0; i<nuevo_array.length; i++) {
trace("Fruta "+i+" = "+nuevo_array[i]);
}
} else {
trace("Primera vez");
}
//Escribimos o modificamos el Archivo
so = SharedObject.getLocal("frutas");
//escribimos el Contenido de la variable soFrutas que contenfra el
//arreglo frutas_array
so.data.soFrutas = frutas_array;
so.flush();
delete so;
Espero te sirva!!
Saludos!!