Hi Carl,
when you say upgrading the switch IOS, it juz upgradez the image of the switch & not the configuration of the switch, configuration of the switches are stored in flash eg. flash:/config.text, since the IOS upgardes only the IOS image of the switch eg. "c2950-i6k212q4-mz.121-22.EA6.bin" which also stored in flash:/ it will never wipes the entire content of the flash. note you can also find vlan.dat, private-config.text etc... in the flash.
Hope this helps.
rete this post if it cleared you doubtz.