Could this patch have anything to do with solving the problem?
(Presumably at this point, we can assume it is a problem with the circuitry on aftermarket batteries themselves, needing an overwrite from the software).
I've installed CM9 (111223-Defy+) on my Defy+ over a stock Gingerbread ROM, and it hadn't charged my battery over 80%, so I replaced the battd, and now it does, and works properly, so battery compatibility is definitely coded in battd. (And it might have something to do with the kernel too.)
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?