I am generating a "multiple interleaved essences in the same stream" Op1A file programmatically. There is a video essence and 8 audio essences. I am providing essence keys explicitly, indicating they are not GC keys. In reality they are GC keys, but some commercial software expects to see very particular GC keys - it won't accept those generated by MXFlib. Unfortunately, those 8 audio essences end up with the same GCStreamData::WriteOrder, causing them to collide in GCWriter::WriteOrderMap. As a result, one one of the audio essences gets written (or maybe all get written but only one indexed - I haven't verified).
I am attaching a quick workaround I made. May not be the best way to fix this problem, but it works for me. The patch is made against the latest CVS.