I also encountered “Invalid Image” under the exact same conditions the original post had (same SD card brand, same firmware version, WinDisk32Imager, etc.) Tried re-flashing the FW image onto the card multiple times and still got the error. Finally I just tried selecting the “Fw. update” menu option over and over again without touching anything, and after about 7 or 8 failed attempts it finally accepted the image and completed the update successfully.
Looking at the OSSC’s source code (/software/sys_controller/ossc/firmware.c) I see there’s a variable FW_UPDATE_RETRIES which is set to 3. Was the value of 3 chosen because failed reads were anticipated? If so, could setting it to a higher value make the updates proceed with a higher success rate?