I tend to agree, although there are places where CNAMEs are necessary like classless reverse delegation (RFC 2317) or when you don't control the zone where the target A record(s) live.
Classless reverse delegations in now way requires CNAMEs this is really only a BIND-limitation (and not so much a limitation but a combination of administrators laziness and BIND's mindset/zone-file structure).
Cheers, MaZe.