Wouldn't it be nice if the pre-compiler would tell us what record and synonym version it actually picked?
In the original post you mentioned version 99.
I suggest that you do:
DIS ALL REC SYN WHERE NAME = 'yourrecordname' AS SYN.
Then display all the occurrences and go through the records to verify the synonym version, language and prefix.
The pre-compiler will pick up the SYNONYM version given on the COPY IDMS statement, if no version is given, it will first look for the highest version SYNONYM with LANGUAGE COBOL, and if none is found it will pick up the highest version SYNONYM. It does not care about the record's version just the synonym's version, nor does it care about the language of the record itself, again it is the synonym.
You probably are aware, but I will state it as a refresher, that a record will always have a primary synonym that is the same name and version as the record, it can additionally have synonyms with the same name but different versions, as well as synonyms with any name and any version as long as that record synonym does not already exist.