As described in my earlier post, it is wise to create regular backups of your apps and data to SD card.
This can be accomplished using
adb shell or the local Android terminal:
busybox tar cvf /mnt/sdcard/Backup/Full_`busybox date +%Y%m%d`.tar /system /data
The correspondent command to for example restore your text messages would be:
cd /;busybox tar xvf /mnt/sdcard/Backup/Full_20111101.tar data/data/com.android.providers.telephony/databases/mmssms.db
This worked fine up to Android 2.2, provided that you check file ownership and permissions afterwards, e.g.:
busybox chown radio:radio /data/data/com.android.providers.telephony/databases/mmssms.db
busybox chmod 660 /data/data/com.android.providers.telephony/databases/mmssms.db
After the restore has completed, reboot.
This no longer worked when upgrading to OpenEve 2.3.7...
With Android Gingerbread some changes seem to have been introduced for the central databases:
Gingerbread will only pick up the restored databases, if the accompanying files *-shm and *-wal have been deleted before the final reboot (they seem to be recreated when not present).
Thanks to Marius Strompen for the crucial hint.