Start() doesnt work for this and I dont think Awake() does either. Anybody know something that does?
I think you could use the OnEnable hook on the Monobehaviour. It gets called when an object is set active or your component is enabled.
What about making your own function in a component, and call gameObject.SetActive() in that function? Then you can use delegates or whatever.
OnEnable() is the one triggered then setting an object active.