How do you protect yourself against incomplete writes? What about when there's a critical update that you don't want lost?
I've done similar stuff in the past, but I handled things slightly differently. For tiny data structures I just spat out a short XML file. For larger data structures I synchronized all changes with a SQLite database.