I dont think is evil: use of the direct character *is* evil, for the human editors and operators. Similarly, for the different dashes and quotes and numerals: anywhere the glyph is ambiguous, it is better to use names. Numeric character references are OK for preventing confusion about which character code is intended, but they dont tell what character is use: they prevent a negative but they dont contribute a positive.)
Just yesterday we had an xml parsing error message (xerces i think) saying that ' " " is unexpected data in element content.' The developers had all sorts elaborate theories about why spaces were not allowed in some element content and not others: all wrong. I used a hex editor to show it was U+00A0. If the markup had used any kind of reference, there would have been no problem.
So i like named characters and Eliot does not like declarations. Both could be accomodated by building in the standard iso/w3c public entity sets into xml so declarations were needed.
Cheers
Rick