It's an old fallacy. The costs of maintaining, modifying, enhancing, and testing your own code as well as the time lost that could be used on other aspects of the system (opportunity cost) typically exceed the costs of doing all that you've said.
A good, automated system to generate installs sets & scripts and actually do the installation goes along way. PMFJI....I understand what you're saying, and in the abstract I don't disagree. However, I've been in similar situations before, having to deal with the support of external DLLs, and the support time down the road for different tasks associated with external DLLs (including versioning) *can* be really annoying.