Gimbal lock issues on rotating object

I tried creating a hierarchy for x, y, z axis with 3 different objects childed to each other, locking the 2 other axis on each object and still having the problem.

If I just move the object directly it gets all screwed up. Anyone have a rundown on how you fix gimbal lock?

		transform.Rotate (Vector3.right * speed);

I also made a gameobject[ ] holding 3 objects for x, y, z and try using them like:

		xyz[0].transform.Rotate (Vector3.forward * speed);
		xyz[1].transform.Rotate(Vector3.forward * speed);

Try this: http://answers.unity3d.com/questions/338997/difference-in-rotation-without-gimbal-lock.html