Ваш код не соответствует документации. В документации прямо указано, что имя файла 'unit MyCompany.ProjectX.ProgramY.Unit1' является unit1.pas, а не MyCompany.ProjectX.ProgramY.Unit1.
Однако я не верю, что эта функция реализована вообще. Если я изменю ваш код для сохранения первого модуля в файле a.pas и второго модуля в файле b.pas, модули не будут компилироваться вообще, и ошибка будет
[DCC Error] A.pas(1): E1038 Unit identifier 'Lib.A' does not match file name
(Это именно то, что я ожидал увидеть.)
В вашем случае нет конфликта, потому что вы всегда можете использовать полное имя «конфликтующего» глобального - Lib.A.TestValue и Lib.B.TestValue.