Sorry, but this will not work because run does only 1 step at max. If you want a blocking move you could do
for (int idx = 0; idx < Npos; idx++) {
Serial.println (pos [idx].desc);
myStepper.runToNewPosition (pos [idx].nStep);
delay (pos [idx].msec);
}