Вот итить! Все разрешилось. До разрешающего фильтра-то я додумался, но он ничего не изменил — по-прежнему не работало. Стал пробовать вариант 1)-2) — с проверкой флага внутри ClassifyFn — и тоже глухо.
Пришлось медитировать над msdn и искать в чем у меня "проруха". Оказалось в localRedirectTargetPID. Изначально я, следуя msdn, передавал в ClassifyFn этот PID, но потом оказалось, что и без передачи как-то "все работало". До поры. Из-за неверного localRedirectTargetPID'а я и получил SocketException: An attempt was made to access a socket in a way forbidden by its access permissions.
Так что теперь оба варианта работают, вопрос — какой лучше? Я думаю, с отдельным разрешающим фильтром, т.к. он явно показывает структуру collaout'а, хотя другой вариант реализуется в 2 строчки...
На счет "два фильтра-редиректа в системе..." — так у меня трудность была не в том, как это сделать, а, скорее, как этого избежать
В общем, спасибо большое за помощь и с Новым Годом!