I used to work at the hybrid battery lab at GM, and for a while on the Volt battery itself. I'm happy to try to answer any questions (without breaking confidentiality, of course).
Are the boards end user programmable or readable? One of the things that fascinated me about the Nissan Skyline GT and cars with OBDII was the ability to plugin a laptop and get realtime data from the ECU, program the valve timings, and in the case of the Skyline get the brake, Antislip, and g-forces data. Is this type of information available to the owners?
That's a good question. Everything eventually connects in to the ECU, so there's no reason the customer shouldn't be able to read this data. As for writing data, I'm not sure how difficult it would be, but it can probably be done.
Personally, I'd leave battery controls to people smarter than me. Consider that the battery costs around $8,000, and that severe over- or under-charging is a massive hazard to both the battery's lifespan and the driver's life.
I don't know anything about the Mitsubishi. The Leaf definitely has a capacity advantage (at the cost of weight), and is approximately the same chemistry. The Volt's thermal and electrical controls are vastly superior to the Leaf.
They definitely contribute to range and torque, but the most important contribution is to the overall lifetime of the battery. Batteries treated nicely are apt to last much longer. Thermal management is probably THE most important factor in a battery's lifetime.
Can anyone explain why there are so many control boards? It seems like a nightmare wiring those systems together and coding them all to correctly interact together.
Then again I have limited experience with real-time systems.
They are indeed for modularity. One benefit here is that dealerships can quickly swap part of a battery (cells and controller) to make repairs quicker. The other benefit is that smaller batteries can be made by using the same components and code.
Most modern cars will have lots of separate controllers. Many of the functions of the car are largely independent and having them on separate boards means they can be physically closer to the things they are controlling, and the number of functions that each is responsible for is reduced which simplifies design, coding and test.