rigidbody.MoveRotation neither world space or local? How does it work?

Hi, I have a script that is supposed to change the rigidbody along the X or Y axis depending on what mouse button you press. But the Y axis rotation seems to be in world space and the X axis it seems to be in local space. How do I get the whole thin in world space?
(I need to use rigdbody.MoveRotation and not transform.EulerAngles because of strange collision events.)

Here is part of my script:

if (Input.GetMouseButton (0)   && Time.time > nextRot) {
			
			nextRot = Time.time + rotRate;
			
				
			rotX = rotX + 90;
			if (rotX > 315) rotX = 0;
			if (rotX >= 225 && rotX < 315) rotX = 270;
			if (rotX >= 135 && rotX < 225) rotX = 180;
			if (rotX >= 45 && rotX < 135) rotX = 90;
			if (rotX >= 0 && rotX < 45) rotX = 0;
			Debug.Log ("rotX = " + rotX);
				
			
			xCanRot = true;
		}
			else xCanRot = false;
			
			
		if (Input.GetMouseButton (1)   && Time.time > nextRot) {
			
			nextRot = Time.time + rotRate;
			
				
			rotY = rotY + 90;
			if (rotY > 315) rotY = 0;
			if (rotY >= 225 && rotY < 315) rotY = 270;
			if (rotY >= 135 && rotY < 225) rotY = 180;
			if (rotY >= 45 && rotY < 135) rotY = 90;
			if (rotY >= 0 && rotY < 45) rotY = 0;
			Debug.Log ("rotY = " + rotY);
			
				
			yCanRot = true;
		}
			else yCanRot = false;
				
			
	
	if (yCanRot || xCanRot) {
	
			
			
			blockRotation = Quaternion.Euler (Vector3 (rotX,rotY,0.0));
			rigidbody.MoveRotation(blockRotation);
			
	
			
		}

I think I have figured it out. I was using Euler Angles and they (I think) rotate in a sequence of axis and can change the Euler angle values as they go. I have used them very effectively before for rotation about a single axis (A dial from one to 10). But they are really bad for incrementing movement in 3D.

Now for this project, I am using Transform rotation as below:

#pragma strict



var canRot: boolean;

private var emptyRotation: Quaternion;


function Start () {

canRot = false;
emptyRotation = Quaternion.identity;
   
}
   	
	
	function Update () {
	
	    	
		if (Input.GetMouseButtonDown (0)   ) {
			
			transform.Rotate (Vector3.right * 90 , Space.World);
			   			    			
		}
			
			
		if (Input.GetMouseButtonDown (1)   ) {
			    				
				transform.Rotate (Vector3.up * 90 , Space.World);
			
		}
			
		emptyRotation = transform.rotation;
	}