Doing some basic debugging (I still don't understand how the config system works), it looks like the "value" property gets set on a restart; that is _setp_value() gets called with key = "value" and value = <stored value>. I called self.get_prop("items") in that function, but it contains [('', '')] (the default?).
(By the way: in the sample code above, "calendar_list" should read "my_list".) So when I read the bound variable "my_list" in the test desklet into a local variable "new_list", I get the saved value in "new_list" (but it's not in Prefs.my_list.items). I then append a new tuple to be displayed in the config <list> to "new_list" and assign that to Prefs.my_list.items:
new_list = my_list
Prefs.my_list.items = new_list
Then it shows up in my config <list>.
If I can help more, I can run some more tests for you. Hopefully since you know something about this code you can do something with this information :)