I think the role of architecture is changing. I see less and less ivory tower architects that design a whole system for the lowly programmers to implement in a waterfall process.
When doing iterative projects communication between architects and programmers gets more important. The architect is part of a team and should be able to handle changing requirements and new ideas together with the programmers. In situations like this the job of an architect and a programmer are more closely related. I've seen teams where the dev-leads took on the role of architects deliver well thought out architectures for really complicated solutions.
edit In reply to comment
I think in the distinction between application, solution and enterprise architect is a bit artificial and doesn't really fit in many cases. Roles like security architect, data architect etc. give a far clearer disinction between responsibilities. You can look here for more details http://stevendwright.home.comcast.net/~stevendwright/ArchRoles.htm
By the way, from reading your question again I noticed that many of the arguments against coding architects seem to indicate a strong management/leadership role for the architect. I think it's a good idea to separate the management and architecture roles. It's better to have your technical people divide their time between coding and architecture than between management and architecture.