I've had this issue after applying some rooting patches. I've applied several of them and I can't write de complete history, but it's not very important in this case.
My problem was related with the fact that the partition mounted on /data was damaged, this is device /dev/block/mmcblk2p9.
The solition consist in recreate the filesystem on /dev/block/mmcblk2p9 with the following command:
busybox mkfs.ext2 /dev/block/mmcblk2p9
To execute this command you can use a root shell
, "USB debugging" (Settings > Applications > Development)option in rooted devices and connect to it from your PC using "adb shell"
from "Android SDK" or you can use rupor-rescue
method to get a console and run the command.
Once executed, reboot the reader and prefs should be saved.