ИМХО, наиболее действенным и менее запутанным способом настройки HOSTS будет следующее:
Сделать окно дополнительной настройки для HOSTS, где можно будет
a) Одной птичкой включать/выключать проверку HOSTS в сканере.
б) Одной птичкой включать/выключать проверку HOSTS в Backround Rootkit Scanner.
в) Задавать эталонный HOSTS самому, т.е. чтобы он восстанавливал не чистый HOSTS, а тот который пропишет юзер.
Таким образом, пользователь может максимально настроить под себя защиту. Если у него есть определенный, нужный ему HOSTS, то он может задать его восстановление в случае изменения.
P.S. Пока написал это, еще раз обдумал. А что если сделать зависимость исключений в сканере и Backround Rootkit Scanner-e от галочки в превентной защите? То есть вместо пунктов а) и б) просто будет логика: Если включена галочка на защиту HOSTS (а по умолчанию она стоит), то везде проверяем и заменяем HOSTS (на чистый или эталонный, пункт в) ), если галочка не стоит (пользователь сам отключил ее сознательно), то даже при включенном Backround Rootkit Scanner, он не будет заменяться. Это логично, т.к. если пользователь отключил контроль HOSTS, то ему надо внести изменения, и не надо чтобы его лечила фоновая проверка. Включаем обратно защиту HOSTS - удаляем все исключения, но если юзер задал свой HOSTS, то естественно все сканеры будут сравнивать текущий HOSTS с заданным.
Как-то так... 
Если есть два способа, простой и сложный, то выбирай сложный, так как он проще простого способа, который тоже сложный, но ещё и кривой.