When does Behaviour.enabled take effect?

I've been testing with MonoBehaviours and Time.frameCount, and it seems that when you enable them, they will wait until the next frame to start running code in Update(). Is this behavior guaranteed? What about other Behaviours? (I think Camera.enabled and Renderer.enabled, for example, should be forced to operate before the next frame.)

Not sure if this helps, but you can force a camera to render immediately by disabling it in Editor and calling camera.Render() from Update(). If you had enabled/disabled some renderers previously, then I guess they should be operated properly for that camera.