Как вы их связываете? Если это происходит через привязку содержимого к NSArrayController, то я считаю, что он пытается привязать selectionIndexes к тому же объекту. Этот класс (NSIndexSet) не работает с NSUserDefaults (я понятия не имею, почему, но у меня была такая же проблема в прошлом - я думаю, что это как-то связано с жизненным циклом объекта; он инициализируется как пустой, а затем добавляет индексы или что-то). Что setSelectsInsertedObjects делает, просто автоматически обновляет selectionIndexes, когда добавляется новый объект, и в основном ваш NSUserDefaults контролирует это. Я не уверен, где это, но я думаю, что если вы будете охотиться вокруг привязок NSArrayController, вы найдете один для selectionIndexes (или чего-то связанного), который автоматически был привязан к NSUserDefaults для вас; если снять этот флажок, все должно работать.