I tried to get you the call stack, but I just get back the same information as a regular Debug.Log (I'm sure I'm using it wrong).
I've actually re-written the script as well, and the only problem remaining is that when you click on a child object in the scroll view for the 1st time, the panel's contents "jump" to the left then get pulled back to the center. It seems like this "jump" is the same movement caused by resetting the panel's content origin to the top left (in the inspector as the game is running), then the UICenterOnChild script pulls the object back to the center. I have been unable to correct it.
Update:
Apparently the jump problem was fixed in a new version of NGUI, thank you again ArenMook, I always appreciate the help on and continued development for NGUI.
-Spoke too soon, now instead of jumping on first touch, the grid and its contents make a very quick "slide" into position the first time they become visible on screen, it seems that UICenterOnChild takes a few frames to complete, even when site to a high spring strength. Is there a way to ensure the adjustment takes place in 1 frame?