Ну вот значится я тогда за второй вариант в приложениях среднего и крупного масштаба, а также с типовых приложениях, для которых большая часть кода уже готова.
А в мелких приложениях лучше вообще обойтись вариантом inline-кода(т.е. обычные вставки в HTML).
И еще, небольшое добавление.
Мне кажется, важным является вопрос о том, какие средства имеются для реализации логики представления в шаблоне. Т.к разница между стандартным движком шаблонов и скажем XSLT весьма важная, имхо.
А второй момент, это квалификация дизайнера/верстальщика, котоырй и должен заниматься слоем представления. А то ведь бывает, что человек знает только HTML, и проще самому написать на php за 2 минутки то, над чем он будет сидеть пол дня.
Не стоит забывать и об автоматизации. Простой пример, бизнес логику вообще можно генерировать автоматически(т.е. создавать классы на основе метаданных из бд), как собственно и шаблоны.
Резюмируя.
Применение второй схемы оправдано:
1. Когда нужна гибкость и расширяемость, соблюдение отраслевых стандартов(коробочные продукты, библиотеки и т.д.)
2. Есть время на реализацию.
3. Есть квалификация.