Можете ли вы предоставить код для получения общего объекта?
Вы используете var sharedObject:SharedObject = SharedObject.getLocal("sharedObject");
или что-то подобное?
Кроме того, при вызове registerClassAlias("Player", Player)
перед сериализацией имейте в виду, что он должен вызываться и до извлечения данных, поэтому десериализация будет работать правильно и возвращает массив объектов Player, а не массив объектов Object.
И, конечно, закрытие sharedObject - очень хорошая практика после сброса:)
P.S. Ваш код работает, насколько я тестировал, заменив класс Player другим пользовательским классом.