I'm a grumpy linux admin who does a lot of scripting, and it has been noticed that I have poor communication skills. I sound a lot like your guy. In fact, that's the only area I get dinged on in performance reviews. Back on the other hand, I'm continuously leading my team in innovation and problem-solving, and have created and led the way to the new platform that we're rolling out and have saved my team a lot of time and my company a lot of money by being allowed to be myself.
My former boss was asked his family/wife AND our company's senior management to leave his position .... simultaneously. He worked tirelessly to balance responsibilities fairly and took on a lot of load himself. During any interaction with anyone outside of the department, if there was a communication misunderstanding that got back to him, he was fast to, ah, punitively correct it. He was poor at "managing upwards," so our team was the last to get resources until it was an emergency, and then the company overpaid vendors with slick sales pitches for untested hardware without consulting the team that would be using those tools. In an effort to create a "well balanced" team, he micromanaged our task lists and tried to balance out tasks so that team members could improve their skill sets in areas where they weren't great, which resulted in a LOT of broken code or poorly architected implementations. While people other than the author were specifically assigned support tasks for that broken code so that they could "learn" -- the poorly architected implementations, code, and tests created a lot of poor goodwill between team members and actually increased occurrences of the "blame game", which is a fast route to a toxic team state.
My current boss is a calm, collected individual who came in from the junior admin role and has worked his way up. He makes good decisions and relies heavily on team members to set their own priorities. He is an excellent communicator and reacts calmly and in concert with his supervisor to any communication problems, ideas or needs expressed by my team. He "works upwards" tirelessly. He's slow to make major architectural changes, and consults thoroughly with the entire team before making changes to our environment and is comfortable with relying on the specialties of our team members.
Under the new manager, our downtime has dropped to almost zero (which has also dropped the percentage of time that we spend on support tasks from about 40% to about 10%), our team's satisfaction has gone through the roof, and we're on track to have moved from a 'break the bank on new hardware every three to five years' to a continuous acquisition plan that should save the company about a cool million a year over five years. That plan was a grassroots program that never would've happened under the previous manager but was actively pushed to senior management by the new manager and depended on finding a LOT of synergies in the team's skill sets. We've been told informally by the CIO that we're now the only team in the company that really "has their shit together" and that he's going to interfere with our working environment as little as possible and shuffle as many resources towards problem areas that we identify as possible. This has held true, and it's driving our support "cost" even lower, although it has disrupted some other teams' workloads -- but it's driven those teams' support "cost" lower as well.
Look, the place for developers to improve their skill sets is in school or on their own time. The place for them to produce things is on your company's time. The best way to produce things is by producing what they know best. When working in areas where one developer is not comfortable, they should pull in a second developer who is specialized and work as a team, or the specialized developer should write the code and produce documentation and diagrams. Route support tasks to the people that wrote the code. Yes, this increases what we call your "bus factor" -- the likelihood of your department hitting a speed bump if the specialist should get hit by a bus. (Or laid off, or switch jobs, or ...) The truth of it is that your productivity loss from that fear is orders of magnitude higher than the actual loss when a "bus event" happens. What generally happens during a "bus event" is that the inheritor of the specialist's work remakes it in his own image so that he can most effectively support it, generally solving a bunch of problems and lowering time spent on support even further, and life goes on.
Assign things to people who can do them best. Make them support and document their work. Foster their creativity and allow them to focus without distractions or micromanagement. Everything else is management-school BS, which it unfortunately sounds like your company is swimming in. That doesn't mean that your team needs to swim in it, too.
From a company's point of view, a good manager promotes the values of the company while executing tasks according to those values. From an IT employee's point of view, a good manager lets the team do what's right to do as quickly and cleanly as possible and acts as a fecal barrier against senior management pushing values that they learned in weekend MBA classes down the throats of the underlings. You're being a company man, and that might not be the best for your team. The ones with "good" communication skills are just too polite to say it.