I see this as a wider problem, not just with managers.
It is no different than the problem I have seen with many developers/programmers who are unwilling to learn (to the point of fighting it) the business that they are developing software for. Most developers develop software for some business other than for other developers and refusing to educate yourself about the business that you are developing for limits the usefulness of those resources.
Similarly, Managers managing technical people should learn what they are managing - though they don't necessarily have to worry about the details of it. Of course the smaller the company the more knowledge technically that manager should have since there is less room for specialization.
Exactly. It's not about having mangers who are great programmers/admins/etc., rather it is the ability to understand the concepts and thus be able to talk intelligently with their staff and explain what they are doing to more senior leadership. Your point about programmers understanding the business needs of their customers is spot on, although many programmers will decry the need to so do. I recently got involved in yet another iT project, despite my great desire to avoid them at any cost, and after explaining in great detail exactly what we are looking for, including detailed data descriptions including data types and input rules, process flows, screen mockups etc, the programmer came back with a very detailed overview of the calendaring function he was building for us. Trouble is, I neither need nor want a calendar function, I want what I described. Yes, the software has really neat calendaring abilities but I really don't give a damn how cool they are because ether don't do what I need. Far too often both sides of the table seem unable to talk in a language the other understands and get a common understanding of what is needed.
As for the CFO not having a financial background, of course they have one but they also understand and probably have been involved in operations and other line/staff functions and understand what they do. Similarly, a CIO should have the same breadth of experience.