Both writing and reading with the registry with http://www.sketchup.com/intl/en/developer/docs/ourdoc/sketchup#write_default and http://www.sketchup.com/intl/en/developer/docs/ourdoc/sketchup#read_default is relatively straightforward and is applicable on an individual version and user basis, and can be construed to cover your own extension name and several key/value pairs as desired.
However, the 'friendliness' I alluded to was relating to how it stores some of your data values.
You can easily make some tests without attaching it to your main code.
The newer versions of Sketchup do quite a good job of storing integers, floats, strings***, arrays*** and hashes and reading them back in successfully.
See below for the *** caveats...
*** There are some pitfalls to be avoided - e.g. including a double-quote " inside a string [e.g. even when properly escaped with a \]... so do NOT write "1'6\"" as a string, because you cannot read it back [the read back and now 'un-escaped' " produces an error], so you must use "1'6\\\"" to ensure that the enclosed " is properly escaped as \" when it's written, so it can be read back successfully...
This sidestep applies to any plain string and also any string stored inside an array [where Ruby also encloses these inside double-quotes], but perversely hashes are OK with this because when a string is inside a hash that's written to the registry it is properly escaped 'doubly' [ "1'6\\\"" >> "1'6\""] so reads back in OK without any trapping here...
These are just annoyances which can be got around...
But watch out for them...