They are working in my game (apart from the loss of background around the flag or crest I tweaked on the interfaces which I take to be due to a missing"set to transparent" tag in part of the export /import conversion.
However you basically need a copy of perflg5.tga.tx and perpnt5.tga.tx in RESOURCE/textures/flags renamed to be ....6... These are what are shown on the ships (row number)
The new row is number 6 so for the interfaces you also need copies of Crest_Personal05,15,25,35,45,55,65 tga.tx etc in RESOURCE/texture/INTERFACES/flags renamed as Crest_Personal06 etc and FlagPersonal etc in the same manner (these are effectively column and row number)
Finally you need to change #define PERSONALFLAGS_TEXTURES_QUANTITY 6 in globals.c
(Incidentally the #define FLAGS_PICTURES_QUANTITY_PER_TEXTURE 7 seems a maximum reduciing it cuts the number of columns (and therefore flags))
To alter the flags you obviously need pick a particular flag and pennant in the row of these in the new perflag & perpnt texture files and overwrite them there, you then need matching crest and flag in the right column and row number in .../INTERFACES/flags
To add another row will mean hex editing the perflg6.tga reference in the dll to be perflg7 (same with pennant) undertake the same copying as above with 7 for 6,
but it looks like the RESOURCE/INI/rigging file will need changing to add another block for 7. All the dll groups currently stop at 6 so they at least would need extending to 7 I presume (pir,frt,mer,per flag and pennant).
I suspect that this is also why the extra personal and pirate dll files already exist. It should be fairly simple to do and "see what happens". Pirflg4-7 are already set in this file so missing textures may not be a problem.
You will also see after each .tga allocation a count=8 which I have no idea what it means (or if this gives a finite limit to additions (many more wouldn't fit on the interface screen as set up anyway)). I will probably try this extension to 7 (and possibly 8) rows to see what troubles arise.
PS there is a CrestNeutral texture which saves trying to erase /write over the odd shape of the crest when creating anew.