Add "refresh_recovery_settings(1);" to the top of function device_recovery_start() in recovery_ui.c.
Then complie ,flash.
The recovery will restore you settings now.
This is the recovery.img that i've complied recently. http://pan.baidu.com/s/1qW0NJJ2
I try it again. and it doesn't work again. When I flash 008m, it just like a factory reset. Then I flash 007m back, the settings and apps are come back.
My phone is Mi2S,.
system1 is aosp.
system2 is MIUI 4.1.17.
It seems that it doesn't work with TDB enabled.
It makes /data_root as /data, but not /data_root/system2, so it looks like a factory reset.
But 007m works fine.
Sorry for my poor english.