So, in this case, the models only differ in that SG300-28 has no POE, and SG300-28p has POE. Other than that, it's exactly the same switch with the same number of ports and the same port speed. The original configuration file was built in firmware 1.1.8, and when it was applied to firmware 1.2.0, the switch confused VLAN100 with VLAN1 and also failed to apply the ip default-gateway command. I believe firmware 1.2.0 was the next iteration from 1.8.0, so one can't get any closer between firmware revisions.
If you have a working system in production, a firmware upgrade should not affect the configuration ingegrity after the switch is reloaded. Otherwise, a production environment will be adversely affected. Rebuilding your configuration from scratch for the new firmware is not an option that any sane person would consider for the production environment. What it means is that people should refrain from upgrading firmware unless the new firmware has a feature that they absolutely must have. In my opinion, if this is the approach that Cisco Small Business Pro takes to firmware upgrades, I would never recommend such equipment to any of my clients. It's a nightmare for both the client and the consultant.
I hope you guys are working on the resolution. I can understand that going from one (old) major release to another (new) major release may cause inconsistencies in the configuration file, but as long as one keeps upgrading to current firmware releases, such inconsistencies must never be allowed to occur. The new firmware release must be thoroughly tested for such inconsistencies, and the bugs must be worked out before a new firmware release is published.