Hi,
have you tried to edit the env_vars file on the 2950 flash?
It contains
MAC_ADDR=....
line.
You can check it via more env_vars command.
So I'd try to copy this file via tftp to my PC and save it for backup.
Then I'd edit the MAC address in the file by WordPad and upload the edited file back to the switch flash.
After the switch reload, the BIA MAC should change (if I'm correct and this is the only place the BIA MAC is saved).
I hope this might work. I've not tested it on my switch, but if you have a source of cheap switches with your "questionable vendor", I'd try it.
To your questions:
1. I think this problem is not a Cisco problem, your "questionable vendor" (or someone else) probably had copied all files on the flash from one device to another.
2. I'm afraid you might get into an STP trouble. The BIA MAC address is used in STP BPDU frames as a part of bridge ID, so if your STP root and another switch would use the same bridge ID, your STP might be confused.
Regards,
Milan