Это не вопрос дизайна базы данных. Это организационный вопрос. Организационные аспекты этого вопроса гораздо важнее технических вопросов.
Ответ: все, что облегчает жизнь вам как разработчикам
Например, вы говорите:
Некоторым новым (ASP.Net-) проектам также необходим доступ к этим данным.
Насколько эти проекты интегрированы в ваш проект? Вы на самом деле обмениваетесь данными (или пишете в те же таблицы)? Например, если вы вносите критические изменения в одну из ваших таблиц, нужно ли вам вносить изменения в код в других проектах одновременно? (Иногда очень сложно синхронизировать два проекта).
Если вы на самом деле не обмениваетесь данными (кроме данных о клиентах, которые, как я полагаю, эффективно доступны только для чтения), используйте отдельные базы данных (ИЛИ схемы). Это значительно упрощает управление изменениями.
Еще одна хитрость заключается в том, чтобы в каждой базе данных имелся набор представлений о данных клиента, который находится в другом месте, в другой схеме.
Итак, для каждого проекта имеется база данных с представлениями в каждой базе данных о данных клиента, которые находятся в отдельной отдельной базе данных.
Производительность на самом деле не должна быть проблемой, если базы данных не работают на отдельных машинах.