(Sorry for the double post earlier)
If I leave the header offset (0x28 in the firmware file) as 0x120 instead of changing it to 0x110 on the 5D, I get the exact same orange box error message. Unfortunately I have no recollection of why my assemble_fw script changes that offset. Does anyone know what purpose it serves to adjust this value?