Thank you for your side. We have been mostly seeing Hazes side. However, here is your problem in a nutshell.
I write this int x = 1; int y = 2; if (x = y) printf("%d", x);
woops assignment inside of an if, you come along and change it to this if (x == y) printf("%d", x);
Who 'owns' it? The answer is we both do under the eyes of the law. No matter how 'trivial' it is (you own an equals sign). A judge would not see it as 'trivial'. In fact you could argue that it radically changed the way the code works. Copyright does not work that way. At the company you work for now I am sure they have NDA's in place for many things. Those are there to say if this situation happens your company owns it. The companies I have worked for do similar things.
I am not sure you could change the license without finding everyone. Not without the possibility at some future point someone shutting you down. Not something I would want hanging over my project.
If you do manage that task may I suggest LGPL2 or more stringently GPL2. That would close down many of the problems that people have brought up. I have no skin in the game as it were. But BSD is a much weaker license. In that people can change your code and then not bother to tell you what they did. For this sort of project I think that is a bad idea.
I agree though changing it is probably a good idea. However, you will need to step very carefully. It is also something that can not happen overnight. It will take some time to track everyone down.