Получение того же имени из glGenTexture и отображение одинаковой текстуры - это не одно и то же.
Имена текстур - это просто целые числа по усмотрению контекста, обычно начинающиеся с 1 и увеличивающиеся с каждым glGenTexture, но не обязательно. Реализация не обязана работать так (хотя большинство так и делают). Однако теоретически вы также можете получить любое более или менее «случайное» число, например, целое число, которое увеличивается для любого типа объекта (т.е. не только текстуры, но также буферы и шейдеры), или даже адрес 32-битного указателя адресное пространство водителя или какая-то другая эзотерическая вещь. Не требуется, чтобы имя было чем-то конкретным.
В устаревшем OpenGL вы могли бы даже создавать свои собственные имена вместо использования glGenTexture, но теперь это уже не разрешено законом. Я не уверен, что они думали, когда это было разрешено, но в любом случае ... :)
Одно и то же число (имя) в другом контексте обычно будет другой текстурой или, возможно, вообще не будет текстуры. Таким образом, если вы видите одну и ту же текстуру в другом контексте с одним и тем же именем текстуры, то у вас либо общие контексты, либо драйвер глючит.
Обратите внимание, что если вы используете wglCreateContextAttribsARB, вторым параметром является дескриптор уже существующего контекста (или ноль). Если вы предоставите здесь дескриптор контекста, вы будете иметь общие контексты, даже без явного вызова glShareLists. Может быть, это случилось случайно.