Wouldn't he have some type of notion that something went wrong during his update?
There is a way of injecting your code into an existing executable so that the executable still works like it did before. Basically your code gets called first and than the original program entry point gets called.
Wouldn't he have to authorize the outgoing packets?
He might have updated this Notepad++ on purpose? He obviously did not know his router was compromised.