Can the uninstall script ask if you want to drop it?
No, in a rpm, the scripts must be non-interactive, but you could dump the bases just before dropping them, just like a signal-event pre-backup would do
mysqldump --add-drop-tables dbname > /home/e-smith/db/mysql/dbname.dump
this way, if you install an upgraded version, the script could check if the dump exists, if it do, then, just create the database and fill it like this:
mysql dbname < /home/e-smith/db/mysql/dbname.dump
If it doesn't exists, that means it's a new install, sso just fill it with the default values. Just an idea.