Итак, литература указывает, что если разные программы подключают dll, то глобальные переменные библиотеки уникальны для каждой программы.
Верно ли это утверждение для разных потоков одной программы?
Нет вроде как. Каждая DLL подгружается к процессу только 1 раз. Т.к. все потоки находятся в пределах одного процесса то и получают одни и тежи данные из DLL если они глобальные.