There is no reason the components themselves cannot be written in Ada, and I know people who have written components in Ada that work in the Microsoft Component Object Model and the Common Object Request Broker Architecture. People have figured out ways to make a legacy system look like a modern component through the art of wrapping. They've discovered the idea of a really good interface. You can hide almost anything behind it. Ada is one of the first languages that focused on the interface as a packaged specification.
Some issues are legal.
For some kinds of applications, particularly those that involve safety, you need to write everything yourself or have very close control. If there ever is a component market where you need component warranties, I think Ada will be a big player. I prefer the second model, but I understand the value of the first. They're converging on one another. One of the things we've been doing at AverStar is developing tools that help identify where problems are.