Ahh.. I get it. upgclient.static works only with the default "/dev/ttyS0", not when using the "-p" parameter to supply a different path. I can create symlinks in /dev/ to get around that, though.
Sorry, can't reproduce that either, though in a rather non-Unixy move it does
require the space between "-p" and "/dev/ttyS1".
I've fiddled some more, and the behaviour is not consistent. Sometimes it works with a "-p otherdevice" parameter, and sometimes it does not. But it never seems to work unless /dev/ttyS0 is a real device. But that could also be inconsistent over a longer trial period.

So.. uninitialized variables somewhere, I guess.
Cheers