the vast majority of such problems were because the programmers
didn't understand C's rules on when values are required to be
converted to their semantic type. I can witness that there were
heated debates within WG14 on this, but no consensus on precisely
what a compiler was allowed to do.
At least at one stage, the consensus seemed to be that footnote 52
(which is informative under ISO rules) was in fact normative (i.e.
that only casts and assignment need convert, but others may).
The footnote is there only for those who don't know how to interpret
the standard correctly. So, the fact that it is informative doesn't
matter. If what you think the standard implies contradicts the
footnote, then this means that your interpretation is incorrect.