I have been testing this out a little more and it looks like the cause of the intermittent behaviour may actually be my software firewall. If I disable it, the UPnP seems to work all the time. If I enable it, the UPnP sometimes works and other times does not. I cannot see anything in my firewall logs to indicate what is being blocked and as far as I can tell, the application rules for allowing UPnP connections are set correctly. In any case, I seem to have narrowed my UPnP issues down to the software firewall.