CN is subject to the Official Languages Act, unlike other federally regulated private businesses such as Air Canada. As you said earlier, these are former crown corporations that made amendments with respect to official languages when they were privatized, but we can see that isn't working.
The Official Languages Act is based on institutional bilingualism. That means that individuals may use the language of their choice. However, what happens if one person wants to work in English and another in French? That principle doesn't work. There has to be a common language. That's why the purpose of Bill 101 is to make French the common language.
The Official Languages Act hasn't worked in the past 50 years. Why do we keep saying it will work better? The very principle of the Official Languages Act doesn't work. Why not let Quebec, for example, apply Bill 101 to federally regulated businesses?