Answering my Q (with a little help from MSFT's friends):

the programmatic assignments on the .aspx page need to be wrapped in the Page_Init() event, like so:

protected void Page_Init()
{
PictureUploaderAndProcessor1.PathVirtual =
"~/ni/apps/xxx/images/submitted/";
}

do that, and everything works like a charm.