Found the magic incantation:

Code:
      selbitall            = #{1..themesh.numverts}
      themesh.selectedVerts = selbitall
      skinOps.resetSelectedVerts theskin
This forces the skin to update internally and now it
has vertices and the weighting part doesn't die.

N.B. I first tried

Code:
skinOps.Invalidate theskin 1
because the documentation said it would have the same
effect but this killed gmax dead as a doornail.