Блин, проверь все последовательно, в каждом процессоре от самого основного, выведи значения перед сохранением. Должно все работать, просто где-то у тебя скорее всего логическая ошибка.