animation.Blend() not playing

I have to have an animation in a parent object play in order for some events to work (because it has an animation event). The rest of the script which would activate the animation works (I checked using debug logs), but the animation itself won’t play. I need the animation to be able to be played while the character is moving (this is why I thought I’d use animation.Blend()) Here’s the code for the animation so far:

var MainM : GameObject;
var caseSwitch : boolean = true;

function Start(){
MainM = transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.transform.parent.gameObject;

//MainM is a very distant ancestor!
MainM.animation["Throw"].wrapMode = WrapMode.Once;
}

function Update(){
//[...]
if(Input.OnMouseButtonDown(0) && caseSwitch){
MainM.animation.Blend("Throw");
caseSwitch = false;
}
}

I’ve also tried to use animation.Play() and animation.CrossFade() instead of animation.Blend(), which yielded the same, nonexistent results. Also, I’ve tried to, instead of using transform.parent, assign the game object in the inspector. No change in results.

==========================================================================================

Edit: animation.Blend(), animation.CrossFade(), and animation.Play() have all failed. The source of the problem is most likely something with the animation itself. I have tried re-making the animation with no success. Any suggestions to help with re-animation and fixing the problem this way is appreciated. Thank you.

==========================================================================================

Make sure the animation you are calling has a higher blend weight then the animation already playing. If it is lower, the animation will be considered playing but will not have any influence on your model. Also make sure the animation weight is set to 1.0 ( or less if your want to only partially apply it.