Вообще то я ответил что динамическая компоновка всегда нужна и вот почему.

Прежде всего, я вижу роль динамической компоновки не только в привязке вызовов функций но и привязки локации памяти, куда была загружена программа к её внутренним адресам (т.е. модуль, который динамически компонуется должен быть и релоцируем в том числе). Это даёт возможность написать (моя голубая мечта - сплю и вижу ) - многозадачную ОСь с псевдокорпоративным использованием ресурсов.

Без динамической компоновки и настройки по адресам в ОС будет очень сложно работать с ресурсами памяти - её просто будет постоянно не хватать (как впрочем и всех остальных ресурсов).