App.config имеет хорошую поддержку конфигураций подключения и ведения журнала, которые вы будете использовать практически во всех приложениях. Переписывание их может принести вам много работы. Кроме того, вы можете иметь некоторую гибкость структуры, если вы используете "sectionGroup" в вашем app.config.
Но прежде чем что-то делать, я спрашивал парня, который создал файл пользовательской конфигурации, почему он это сделал. Существуют некоторые необычные ситуации, в которых app.config приносит вам некоторые проблемы, например, если вы хотите загрузить другую DLL (со своим собственным app.config) с помощью Assembly.Load. В этом случае вам необходимо объединить две конфигурации в один app.config и помолиться, чтобы они не имели никакой конфигурации с одним и тем же ключом.
В веб-тестах вы не можете перезаписывать конфигурации web.config, поэтому это также может принести некоторые проблемы, в зависимости от того, что вы хотите сделать.
Но ИМХО, только в необычных ситуациях app.config не сможет хорошо работать. В большинстве случаев, я думаю, что не стоит создавать свою собственную инфраструктуру конфигурации.