Лучше приведите пример, когда указанным путём (изолированный компонент) пойти реально нельзя.

Обычно трудоёмко делать в основном разного рода специальные вещи, которые оказываются не в основном русле проекта. Например, вдруг нужно работать с графикой/видео. С шифрованием. Со сжатием. Такого рода алгоритмы отлично процедурно компонуются.

Есть огромное корпоративное приложение, с массой бизнес-логики? Оно может оставаться отдельным сетевым компонентом, пока часть функций будет уходить в новую систему.

Ну а любой инфраструктурный компонент (системщина - веб-сервер, хранилище данных и т.п.) вообще не проблема переписать один раз нормально и пользоваться.
(Кстати, СУБД типа Ораклей так многих уже за... , что народ стал серьёзно думать о custom-решениях:
http://www.citforum.ru/database/article ... _fits_all/
http://www.citforum.ru/database/article ... _arch_era/
http://www.citforum.ru/database/articles/seltzer/
То, что там пишется, и так очевидно; просто лишний раз приятно увидеть подтверждение).