FlexCel fully supports colorindexes, and you can indeed set a cell to a given colorindex. You can also change the color palette so colorindex 6 is not yellow, or colorindex 27 is, etc. (by the way, you can also change the color palette by going to File->Options->Save and clicking in "Colors" at the bottom of the dialog).
As usual, APIMate will tell you how to change the palette. If you load in APIMate a file with a modified color palette, APIMate will tell you how to do the same with FlexCel. But it won't help in using colorindexes by design, because in the normal case we don't really want to make people use colorindexes at all. But all support is there if you need it for cases like this one.
Basically, whenever you set a .Color property in FlexCel, you are setting a TExcelColor struct, which can contain themed colors, rgb colors, or indexed colors. So you can do something like this:
var xls = new XlsFile(1, true);
var fmt = xls.GetCellVisibleFormatDef(1, 1);
fmt.FillPattern.Pattern = TFlxPatternStyle.Solid;
fmt.FillPattern.FgColor = TExcelColor.FromIndex(27);
xls.SetCellFormat(1, 1, xls.AddFormat(fmt));
In a similar way, when you read a "Color" property it is a TExcelColor struct and you can read the color index if the color is an indexed color. Also note that this is supported in both xls and xlsx files, you don't need to save as xls to have indexed colors.
I've written about colors more in depth a (long) time ago:
https://www.tmssoftware.com/site/blog.asp?post=135 - https://www.tmssoftware.com/site/blog.asp?post=135
While the article will actually try to convince you to *not* use indexed colors because except for cases like this where an addin needs them they are really not needed today, it explains a little more in depth how colors work in Excel and FlexCel.