Hi,
Do you have any errors in the Unity console?
What I suggest is the following, hopefully you do have backups right?
In 5.3 first, upgrade to 1.8 and see if it works, then upgrade Unity to 5.4. Can you try that?
Also, just to make sure, these gameobjects do persists between scene loading right?
because once a gameobject is destroyed the reference is also lost, and so even if the next scene recreate the gameobject, the global variable won' know which one it is. Just triple check that aspect too, it could be that simple (hopefully)
for gameobjects to persists during level loading, use "dontdestroyOnLoad" action to flag a GameObject to not be destroyed when loading a new scene.
Bye,
Jean