Found the broken xml in style.xml, no idea where in code to look...
<cellXfs count="9">
<xf numFmtId="0" fontId="0" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="1" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="1" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="6" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="7" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="8" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="9" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="10" applyFont="1" xfId="0" fillId="0" borderId="0" />
<xf numFmtId="0" fontId="11" applyFont="1" xfId="0" fillId="0" borderId="0" /> <--- fontId is 0 based, and you've only 11 Fonts defined.
</cellXfs>
I've confirmed that manually changing fontId="11" to fontId="1", then recompressing results in a valid xlsx.
I'll see if I can find the relevant code...
UPDATE: I'm no longer sure the relevant code is in xlsxooxml.pas. Looks like .FontIndex is built up elsewhere. I've been meaning to use fpspreadsheet, I'll download tonight...
UPDATE2: I was curious as to why LibreOffice could open this with no problems. Looking at sheet1.xml, I see you're not referencing the xf with the broken fontId, so LibreOffice probably doesn't notice the issue.
And I've just realised this is development code, there's probably no use in me downloading the latest...