I don’t think this is a bug. If you add a RequireComponent, it will be considered from then on, but not for already existing game object, prefabs, … . This may lead to very annoying results, that prefabs that worked suddenly break because this component was automatically added, but the fields were not properly initialized. Or if you add a wrong type there, all you game objects would suddenly get that component an you would need to delete them all manually.
I understand what you mean. But I think Unity made the right decision to say, when someone modifies a script, they have to make sure it keeps running as expected.