You need to change the condition in event 5 of the event sheet "Basic_Character":
+ System: Is global variable 'Spawn_Root' Equal to Door_Spawn.Value('PV_Spawn_Root')[/code:21pbmfff]
This looks correct, but it doesn't do any picking of the object "Door_Spawn", so what happens is the global is only compared to the first instance of "Door_Spawn".
The solution is to pretty much reverse the condition by comparing the "Door_Spawn" object's PV to the global:
[code:21pbmfff]+ Door_Spawn: Value 'PV_Spawn_Root' Equal to global('Spawn_Root')
This way the correct object is picked.