CHDs are typically store uncompressed alongside the rom zip.
The zip file is detected within the emulator path (MAME\roms), so the "sfiii3" entry gets populated in the romlist.
However, some games only consist of a CHD file (and 3 three G-Net files in this particular case):
<game name="xiistag" sourcefile="taitogn.c" romof="taitogn">
<description>XII Stag (V2.01J)</description>
<year>2002</year>
<manufacturer>Triangle Service</manufacturer>
<biosset name="v1" description="G-NET Bios v1" default="yes"/>
<biosset name="v2" description="G-NET Bios v2"/>
<rom name="flash.u30" merge="flash.u30" bios="v1" size="2097152" crc="c48c8236" sha1="c6dad60266ce2ff635696bc0d91903c543273559" region="biosflash" offset="0"/>
<rom name="flashv2.u30" merge="flashv2.u30" bios="v2" size="2097152" crc="cae462d3" sha1="f1b10846a8423d9fe021191c5876190857c3d2a4" region="biosflash" offset="0"/>
<rom name="coh-3002t.353" merge="coh-3002t.353" size="524288" crc="03967fa7" sha1="0e17fec2286e4e25deb23d40e41ce0986f373d49" region="maincpu:rom" offset="0"/>
<disk name="xiistag" sha1="586e37c8d926293b2bd928e5f0d693910cfb05a2" region="pccard:ataflash:image" index="0" writable="yes"/>
No MAME\roms\xiistag.zip exists, so "XII Stag (V2.01J)" will not be listed.
Adding .chd to the romext does not solve the issue because sub folders are not parsed.