Keep checking zigbee details to make sure it didnt partially join again. Out of all my V1 devices, 2 of them were incredibly stubborn and took many attempts. Move around and try pairing in different locations and distances from the hub
Thanks for the encouragement to keep trying -- it finally joined. Close proximity seemed to matter somewhat, but I didn't really do anything different when it finally joined completely. It was such a relief to see it reporting battery level and temp.
Those V1 devices can be finicky, but once paired, they work great.
I have experienced this exact same issue. (The hub recognized the sensor while pairing and I assigned it a name, but the sensor remained in pairing mode and wouldn't transmit any data/status to the hub.)
I replaced the dead battery on a previously paired and working V1 contact sensor and inadvertently executed a factory reset of the device. I could not get it to pair again while on the 2.3.9 firmware. Multiple add/remove cycles, device resets, different distances from the hub (also using the Zigbee mesh map to verify pairing directly with the hub and not through a repeater) with no success. I was able to roll back the hub's firmware to 2.3.8.140 and the contact sensor paired immediately with no issues.
It seems like the hub may not be sending a V1 pairing complete acknowledgement message out to the device? If there were no changes to the V1 pairing scheme in the 2.3.9 firmware, perhaps it was calling a "normal" pairing sub-routine that did get changed and no longer completes that last pairing acknowledgment specific to V1?
As suggested above, I took the opportunity to pair all of the V1 devices I have in storage. Out of about 15 items, only 1 didn't pair immediately without issue. A single device reset cycle and it paired successfully.
Edit: Forgot to mention... Running a C5 hub.