Under the assumption the server is going to reply quickly, yes, you're correct.  However, this patch was written when the addon repo server was a complete mess and a blocked GUI for well over 10s was easily reproducible.  I took the "any internet operation is the enemy" option, which I'd tend to stand by even today.

As far as I can tell, the code dupe is the cleanest option to get us access to CJob::ShouldCancel().