В планировщик не затолкать, потому что в программе реализована еще и индикация состояния сети, батник этого не сделает.
Вот что еще вывел тестовым путем:
если создать батник с таким текстом:
Код:

@echo off
:loop
ping ya.ru -n 6 || (rasdial VpnName UserName Password && (net stop SharedAccess && net start SharedAccess))
goto loop
и запустить его как bat-файл, то все отрабатывает нормально, т.е. соединение перезапускается вместе со службами и идет раздача на второй компьютер.
А если этот файл сконвертировать в exe (использовал Advanced BAT to EXE Converter) и запустить, то происходит то же, что и с приложением созданным в C# - соединение переподключается, но сеть работает с задержками и нет раздачи интернет на второй компьютер.
Поэтому появился следующий вопрос:
Есть ли какие-нибудь ограничения в Windows вообще или только в Win 8 на запуск VPN соединений или перезагрузки служб приложением .exe? Или быть может нужны дополнительные аргументы для запуска?