I needed to update a few modules (date, calendar, and views) from rc or dev versions to stable release. So all were minor upgrades within the same family of versions. I found very little documentation about this, and update.php said it was for Drupal upgrades. So after backing up my database, I simply replaced the code in sites/all/modules and then did an uninstall/install with devel.
Was this the right procedure?
It trashed the date field type, which apparently has a new structure. That means I lost my date fields in my content type that used it (an event for a calendar), as well as damaging the calendar view that used that field.
I've fixed these things and the calendar is again working, but I'm wondering if there was a better way. I thought that the devel reinstall would use the module install file, but I guess that data from an old content field table doesn't get moved to a new table for this?
I'm going to have to upgrade from Panels 2 to Panels 3 soon - am I going to lose my existing panel, or is there a way to upgrade that page?
Well - I now see on the top of the modules list page that it says to run update.php if any module is upgraded. Would that have saved my date content?

Comments
Correct module upgrade procedure
No, that's not correct; the devel module is NOT really for the casual user, and has several destructive functions, such as the reinstall. In fact, it says quite clearly: "Warning - will delete your module tables and variables." It's meant for developers that want to test on cleanly installed tables.
The regular 'Uninstall' tab on the modules admin page also says "The uninstall process removes all data related to a module." It's meant to be used when a module is permanently removed.
So both of these will purposely DESTROY YOUR DATA!!
You should restore your backup, and try again.
Here is the best way to upgrade site modules:
1) In the "Site maintenance" admin page, put the site into off-line mode.
2) Flush the cache (one of the non-destructive things you can do with the devel module, or on the "Performance" admin page.
3) Back up the entire database and the site files too (you may want to roll back both, of course).
4) For the module you want to update, find the currently installed directory, and delete it (see note1).
5) Untar the new version of the module in the same location
6) Now run update.php, and see if there are any modifications to the database needed.
7) Check the "available updates" and "status report" pages to make sure that everything looks right with the update.
8) Check out the site, and make sure everything is working as expected with the module.
9) Repeat steps 4-8 for other modules (see note2)
10) Go back to "site maintenance" and put the site back online
note1 - Some modules can have additional files to download and/or customized settings stored in the module directory (FCKeditor, for instance, has both). In that case, you will want to preserve the settings files, making sure they have not changed in format from the previous version, and copy the additional needed files.
note2 - Although you can update more than one module at a time, it will be much easier for the non-developer to figure out any problems by only working with one at a time (unless, of course, there are a few related mods that should be updated at the same time, like pathauto and token, for instance).
sloppy
Thanks Roger. I was sloppy on this one, but it was not a production site so there was very little data to lose - and I did a backup anyway (but it was easier to recreate/reenter than restore).
I need to do the same update on another site in the multisite, so I can do that one properly.
Also, my tendency is not to update if it is from rc5 to rc6, for example. Upgrades to a stable release, or alpha to beta seem worthwhile. I check the release notes if in doubt to see what has changed.