Are all successful and highly maintainable software applications strictly Object oriented, or, strictly Interface oriented, or, strictly Aspect Oriented, or a mix of them?
Some applications are successful, some are highly maintainable. One example I can think of is Artisan Studio, an early-adopter SysML tool, but came across as as having very low maintainability when I went for an interview. It's design is component style OO C++ - a distributed OO database and using COM to allow features to be added as components; but they admitted to having a lot of trouble working on a large legacy codebase. I suspect that now the much cheaper and more agile Enterprise Architect UML tool has an SysML offering that success will erode. I haven't talked to EA's designers, but EA is built on a SQL database back-end, and the automation API is very obviously not a pure OO solution - for example, you have to update different parts of the same property of a UML object using different APIs ( a UML package is represented by both a Package object and an Element element, and if you change the name of the package in one API you have to remember to change it in the other or it'll have a different name in the package tree and on any diagram ). Given the rate that features are added to EA, and the general quality of the feel of the application, I suspect it to be more agile than the "better OO" model Artisan adopted, but can't easily refactor.
I don't find a strong connection between maintainability and success, or strict OO and success. Doing what is needed and the ability to refactor software is probably more important to success. That and a good marketing department.
( refactoring something is the opposite of maintaining something - in refactoring you're changing the architecture but the feature set is static; maintenance involves adding new features or removing bugs from an existing architecture )