This isn't about demanding you let companies use your code. This is about what you are calling that license. It is not the MIT license and it is wrong to lie to people by calling it the MIT license. You should give it a name like "The bizcards license" or whatever.
IANAL but you also might want to consult a lawyer since your franken-license contradicts itself. It might be hard to challenge a company in court when they steal your code.