...
2 of the boards were only able to flash once I wired an external MCU generating 16kHz clock soldered to XTAL1/2.
...
That sounds very low frequency - which I believe should be 8x the SCLK of the programmer - but I guess the USBasp can use 2kHz clock. Probably takes an age to flash though.
Years ago (like..15?) I had issues with brown outs on some AVR boards during programming (long story but programmer supplied ~3V instead of 5V) and *some* fuses were cleared, whilst others weren't, and it appeared almost random as to which ones were cleared. Even during runtime AVRs can behave weirdly below the recommended voltage, as different parts of the chip can operate at different thresholds - so the EEPROM might read back 0xFF, but the VDD is enough to run the CPU.
If the SPIEN fuse is set - it prevents flashing via the SPI port, so a high voltage parallel programmer is required. Thankfully you can knock one up with an Arduino UNO and jellybean parts.
https://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/I believe the Atmega32u4 comes with a USB DFU bootloader - so if you haven't written to the bootloader section it could still be there. I *think* if you hold the HWB pin low during a reset it enters the bootloader, and should enumerate in windows as a HID device. But I don't think you can change the fuses via that.