Primeiro, sugiro que você verifique se o comportamento do aplicativo corresponde à documentação: digite netstat -anb
em uma linha de comando elevada e você obterá uma lista de portas abertas com o executável associado (se possível).
Depois disso, verifique se suas regras correspondem ao padrão de escuta real do seu aplicativo.
Uma alternativa seria abrir as portas não baseadas no número da porta, mas com base no próprio executável. Isso pode facilitar o gerenciamento.