Ancestry IS a Mormon project. If you delve into the GEDCOM format, it includes special notation for Mormon marriages and births. As I may have mentioned earlier, they put special emphasis on such marriages, sort of analogous to the rule that you can't really be Jewish unless your mother was Jewish. Otherwise, you are just a convert.
After looking into it more carefully, I didn't need to use the long ID field literally. What I really needed was a unique ID that would be reliably translated and still fit into a LONG.
To accomplish this, I have a table with the actual 13 byte alphanumeric ID and a LONG field that is generated as a DMAX+1 number. I use the generated number as the internal ID in my DB, but when translating the GEDCOM file, if they reference the person's long ID number I can look it up to get the number I used.
When I have a long-ID person number, that person occurs two or more times. Once as an individual (code INDI) and once as a child of a family (code FAMC). And sometimes as the parent in a family (code FAMP). Other relationships also crop up that repeat the individual number, like spousal relations. The long code ID number is defined for the INDI case but referenced for the other cases. I have tested this and it works without me having to change the other tables, relationships, or code. There was already a subroutine to parse and extract the GEDCOM ID, so now it stores the long ID and computes (or looks up) the ID that I will use for the rest of the session. I have already tested it and verified that this works. It is a few percent slower because it takes time for VBA to fully parse the GEDCOM file. But it does it.
Also for the record in case someone runs into this. I mentioned it earlier but it bears repeating.
UTF-8 formatted files recently changed due to updated standards probably related to web-oriented languages. In a text file output via VBA's "PRINT" verb, lines WILL end with CRLF. In a text file output by *NIX variants, text lines end with LF. But in a UTF-8, the line can ALSO end with CR.
This became a problem because VBA's LINE INPUT does not recognize the CR as a line delimiter. My text parser can handle the necessary tests to break up the line with careful parsing, which is how I managed to fix this problem. Without the conversion, what I got was a single input line full of CR characters but treated as a single line over 1.2 MB long (out of 1.3 MB in the whole file). Takes me 7 1/2 minutes to convert the 1.3 MB file but the result is perfect.