Did you check that your home is actually mounted? Happened to me once that, well it was my own fault really as I messed up some boot related things, and /dev/mmcblk0p3 (/home) was not mounted. What happens then, when the device boots it will create a new /home for you on your root device, and copy the skeleton files to it from /etc. It will look like your device had been wiped clean, but the old stuff stil exists there on /dev/mmcblk0p3
As for rescuing the device, there are at least 3 differnt rescue kernels but ubiboot is the easiest to use and most versatile. Just load up ubiboot kernel without flashing it, and telnet to the device & run fsck on filesystems. (or fsck them on USB mount if you have linux)