Ah ha! That was it Erik... should have known better after our discussion before about how the slots work on the oak, and moving the pointer for the active slot!
I did an OakRestore in as far as running the esptool command as below, power cycling with the P2<>GND jumper removed, and then powering back up with the P2<>GND jumper connected again, and programming via the Arduino IDE. My little doubleBlinky program runs, but there is more than a 1700ms delay between cycles... more like 10 seconds, and the device goes offline and online on particle after a double blink. Any thoughts? Should I have run through config process again, instead of just flashing my own code after running the esptool command?
esptool --baud 115200 --port COM4 write_flash -fs 32m 0x1000 blank.bin 0x2000 oaksetup_restore.bin 0x0081000 oakupdate_restore.bin 0x101000 blank.bin 0x102000 blank.bin 0x202000 blank.bin
A little later on: After a few minutes of dithering... the Oak started running the double blink without any issue... it seems to have resolved it's gremlin on it's own. I power cycled it since it had settled down, and it started up perfectly. However, serial upload program #2 ("now with 2.5 times the blinkyness!") doesn't seem to want to settle down and run normally at all, so it is a strange gremlin. I added some serial messages, and whilst Particle is saying the Oak is disconnecting and connecting, the Oak isn't rebooting - it runs setup() once, and runs loop with a bit of hang between each run, corresponding with the connect and disconnect. And again, as I write this, after another power cycle and a minute of dithering, it is running perfectly. I think I will chalk it up to wifi gremlin and call it a night!
Pete