This works perfectly in the editor (mac). On the iOS device (iPad 3) it does not work correctly. I'm instantiating a simple low poly object multiple times. I'm using the mobile / diffuse shader with an opaque texture.
If I instantiate one prefab the directional lighting works correctly.
If I instantiate several the lighting dims on all objects. They are still lit but appear at 50% brightness.
I've tried switching the shader to an unlit variation and this works as expected. It appears related to directional lighting but, as yet, I haven't figured out the cause.
I believe this is a bug. However, until Unity either a) fixes it or b) explains why this breaks I have figured out a workaround.
I created a simple script that instantiates a unique material for each instance of my prefab and sets the 'Renderer.Material' property with this new Material instance.
The downside is that this breaks batching. I'll update this answer if I hear back from Unity.
See comment from zmeinaz for alternate workaround.
Update: It's now fixed according to Unity. I assume that means it will be in the next build (> 3.5.3f3).
Update: This is still broken in 3.5.4f1 when testing on iOS device (iPad 3).
Update: This is now working in 3.5.5f2 (tested on iPad 3 / iOS 6b4).