ACPI
"But the company also says that in some cases, the new tool may be working properly. In other words, if it says your battery needs replacing, it may need replacing. But for so many laptops owners posting to TechNet, this is clearly not the case."
Brilliant! I'll just put warnings in *my* OS saying the hard drive's bad, battery's bad, the computer's too slow, and you need more RAM. The warnings will all be true SOMETIMES.
-----
"Also any hardware vendor['s bespoke battery management software is going to get blown away in an OS reinstall."
No it's not, this stuff is handled by ACPI, it's in the system BIOS.
So... 2 possibilities.
1) Windows 7 has ACPI bugs. I won't rag on them for this (as long as they fix it promptly), ACPI spec is fairly complex, and it's interactions with the OS are too.
2) Microsoft's umm.. Microsoftian ploys are backfiring on them. Microsoft provides an ACPI compiler that produces (slightly) non-standard ACPI, this initially caused problems for non-Windows ACPI implementations (until they made them "bug compatible" with the Windows ACPI interpreter).. if Windows 7's ACPI code was redone maybe it doesn't deal with this. Also the ACPI table will check the OS... Windows 2000, Windows XP, "Windows XP SP1", XP SP2, Vista shows as "Windows 2006", etc. Often times these tables are just plain broken if the OS is unrecognized (and some few check for "Linux" and return broken tables too!). It has been suggested Microsoft encouraged these broken tables, so Windows would run smooth while other OSes crap out on the same machine. On these BIOSes, Windows 7 will probably not show up as "Windows 2006", it'll be unrecognized, and a broken table could be returned -- they are being hoisted by their own petard. The 3 solutions. 1) BIOS updates all around (to fix the ACPI tables). 2) The Linux solution, it now claims it is Windows 2000, XP, 2003, *and* Vista for ACPI purposes, to make sure it doesn't get some broken "default" or even worse broken "Linux" table. 3) Least attractive solution -- Linux supports loading custom ACPI tables, so I suppose Windows could too -- people will retrieve the broken ACPI tables, fix the bugs, and post the fixed table online to load at boot time.