I usually had this problem when installing a new firmware... All I had to do was flashing the original kernel and it charged wonderfully. I don't know anything about how current is passed from the port to charge the battery if it's via software or hardware.
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?