3GS to 3.1 went really well, one glitch...
First of all, THANK YOU to Dev Team for all of the hard work!!!!!
I have now upgraded my 3GS to JB 3.1 and, for the most part, am really happy.
In my first pass, I used the expert mode to create a custom restore file with a whole bunch of packages preinstalled; however, my restore process crashed twice along the way, and anything that required mobilesubstrate caused safe mode to kick in.
I created a second custom restore file using the simple method and have experienced no errors. The one problem I'm running into is the missing carrier name. It's a minor (and I mean REALLY MINOR) annoyance, but I'm looking forward to someone hopefully finding a fix for it. (ANY THOUGHTS??)
A recommendation... I have been using PkgBackup (purchased through Cydia) to keep a record of all of my installed Cydia apps. This 3.0.1 -> 3.1 upgrade was my first chance to test the restore feature. Not only did all of my previously installed Cydia packages get properly reinstalled, almost all of my settings associated with those packages got preserved as well. If you are getting ready to upgrade and already have a jailbroken phone, I strongly recommend this utility!!