So I guess writing a DNS resolving library wasn't justified, even though it dropped the memory footprint from 15M (when using C-Ares) to 400k (a bit more information about this here: http://news.ycombinator.com/item?id=2324428)
From the perspective of an individual, fixing a systemic flaw is going to take much longer than just operating within it. There are cases where "reinventing the wheel" is just the best way to go.