OK, I've tried all sensible permutations of button presses I can think of and logged the output of the console....
Press and hold Boot, press and release EN
[21:14:02]
[21:14:02]rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
[21:14:02]waiting for download
Release Boot and attempt flash
Unexpected error: could not open port 'COM3': PermissionError(13, 'Access is denied.', None, 5)
Press and hold Boot, press and release EN
[21:18:51]ets Jun 8 2016 00:22:57
[21:18:51]
[21:18:51]rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
[21:18:51]waiting for download
Still holding boot and attempt flash - Same error
Press and release EN
[21:16:05]ets Jun 8 2016 00:22:57
[21:16:05]
[21:16:05]rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[21:16:05]configsip: 0, SPIWP:0x00
[21:16:05]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[21:16:05]mode
IO, clock div:2
[21:16:05]load:0x3fff0008,len:8
[21:16:05]load:0x3fff0010,len:3480
[21:16:05]load:0x40078000,len:7804
[21:16:05]ho 0 tail 12 room 4
[21:16:05]load:0x40080000,len:252
[21:16:05]entry 0x40080034
[21:16:05]I (46) boot: ESP-IDF v2.0-3-gbef9896 2nd stage bootloader
[21:16:05]I (46) boot: compile time 05:59:45
[21:16:05]I (46) boot: Enabling RNG early entropy source...
[21:16:05]I (65) boot: SPI Speed : 40MHz
[21:16:05]I (78) boot: SPI Mode : DIO
[21:16:05]I (90) boot: SPI Flash Size : 4MB
[21:16:05]I (102) boot: Partition Table:
[21:16:05]I (114) boot: ## Label Usage Type ST Offset Length
[21:16:05]I (136) boot: 0 phy_init RF data 01 01 0000f000 00001000
[21:16:05]I (160) boot: 1 otadata OTA data 01 00 00010000 00002000
[21:16:05]I (183) boot: 2 nvs WiFi data 01 02 00012000 0000e000
[21:16:05]I (206) boot: 3 at_customize unknown 40 00 00020000 000e0000
[21:16:05]I (229) boot: 4 ota_0 OTA app 00 10 00100000 00180000
[21:16:05]I (253) boot: 5 ota_1 OTA app 00 11 00280000 00180000
[21:16:05]I (276) boot: End of partition table
[21:16:05]I (289) boot: Disabling RNG early entropy source...
[21:16:05]I (306) boot: Loading app partition at offset 00100000
[21:16:05]I (1482) boot: segment 0: paddr=0x00100018 vaddr=0x00000000 size=0x0ffe8 ( 65512)
[21:16:05]I (1482) boot: segment 1: paddr=0x00110008 vaddr=0x3f400010 size=0x1c5f0 (116208) map
[21:16:05]I (1499) boot: segment 2: paddr=0x0012c600 vaddr=0x3ffb0000 size=0x0215c ( 8540) load
[21:16:05]I (1529) boot: segment 3: paddr=0x0012e764 vaddr=0x40080000 size=0x00400 ( 1024) load
[21:16:05]I (1552) boot: segment 4: paddr=0x0012eb6c vaddr=0x40080400 size=0x1b028 (110632) load
[21:16:05]I (1631) boot: segment 5: paddr=0x00149b9c vaddr=0x400c0000 size=0x00034 ( 52) load
[21:16:05]I (1632) boot: segment 6: paddr=0x00149bd8 vaddr=0x00000000 size=0x06430 ( 25648)
[21:16:05]I (1648) boot: segment 7: paddr=0x00150010 vaddr=0x400d0018 size=0x7a56c (501100) map
[21:16:05]I (1676) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
[21:16:05]I (1698) heap_alloc_caps: At 3FFBA6B8 len 00025948 (150 KiB): DRAM
[21:16:05]I (1719) heap_alloc_caps: At 3FFE8000 len 00018000 (96 KiB): D/IRAM
[21:16:05]I (1741) heap_alloc_caps: At 4009B428 len 00004BD8 (18 KiB): IRAM
[21:16:05]I (1762) cpu_start: Pro cpu up.
[21:16:05]I (1773) cpu_start: Single core mode
[21:16:05]I (1786) cpu_start: Pro cpu start user code
[21:16:05]I (1847) cpu_start: Starting scheduler on PRO CPU.
[21:16:05]I (2033) uart: queue free spaces: 10
[21:16:05]Bin version:0.10.0
[21:16:05]I (2035) wifi: wifi firmware version: c604573
[21:16:05]I (2035) wifi: config NVS flash: enabled
[21:16:05]I (2036) wifi: config nano formating: disabled
[21:16:05]I (2044) wifi: Init dynamic tx buffer num: 32
[21:16:05]I (2045) wifi: wifi driver task: 3ffc4f34, prio:23, stack:3584
[21:16:05]I (2050) wifi: Init static rx buffer num: 10
[21:16:05]I (2054) wifi: Init dynamic rx buffer num: 0
[21:16:05]I (2058) wifi: Init rx ampdu len mblock:7
[21:16:05]I (2062) wifi: Init lldesc rx ampdu entry mblock:4
[21:16:05]I (2066) wifi: wifi power manager task: 0x3ffca2dc prio: 21 stack: 2560
[21:16:05]I (2073) wifi: wifi timer task: 3ffcb35c, prio:22, stack:3584
[21:16:05]E (2078) phy_init: PHY data partition validated
[21:16:05]I (2102) phy: phy_version: 329, Feb 22 2017, 15:58:07, 0, 0
[21:16:05]I (2102) wifi: mode : softAP (94:b9:7e:d5:8b:85)
[21:16:05]I (2105) wifi: mode : sta (94:b9:7e:d5:8b:84) + softAP (94:b9:7e:d5:8b:85)
[21:16:05]I (2109) wifi: mode : softAP (94:b9:7e:d5:8b:85)
Attempt flash - same error
Does this give anyone any hints?