animations not working correctly in build

Hello,

I have a character on a bike that animates left and right into a lean position depending on which arrow key you hit. The animations were baked in from 3d max and are set to *clamp** forever***. Everything works perfectly in the editor but when I build it to a web player it sometimes won't play the animation when I'm pressing the Up Arrow(accelerate) and the Left/Right Arrow(lean) at the same time, but does play it when only the Left/Right Arrow is pressed. I've tried about everything I can think of so any ideas would be great.

Here's the code :

var minAngle = 0.0;
var maxAngle = 10.0;
var toLeft : Transform;//bike lean left//
var toRight : Transform;//bike lean right//
var toCenter : Transform;//bike lean center//
var speed = 4;//speed of lean//
var returnCenter : boolean = false;//tells script it's ok to center bike//
var bikeObject : GameObject;
static var goRace : boolean = false;
var Biker : GameObject;
static var leftLean : boolean = false;
static var rightLean : boolean = false;

function Awake() {
    goRace = false;
    leftLean = false;
    rightLean = false;
}

function Update () {
if (goRace) { //when game is ready this is set to true//

    if (Input.GetKey("left")) {
            returnCenter = false;
            transform.rotation = Quaternion.Slerp (transform.rotation, toLeft.rotation, Time.deltaTime * speed);
            Biker.animation.CrossFade ("LeanLeftB");
            leftLean = true;
            rightLean = false;

        } else {
            if (Input.GetKey ("right")) {
                returnCenter = false;
                transform.rotation = Quaternion.Slerp (transform.rotation, toRight.rotation, Time.deltaTime * speed);
                Biker.animation.CrossFade ("LeanRightB");
                leftLean = false;
                rightLean = true;

            }
        }
        if (Input.GetKeyUp ("left")) {
            leftLean = true;
            returnCenter = true;
            Biker.animation.CrossFade ("LeanLeftBackB");

        } else {
            if (Input.GetKeyUp ("right")) {
                rightLean = true;
                returnCenter = true;
                Biker.animation.CrossFade ("LeanRightBackB");

            }
        }
    if (Input.GetKey("left") && Input.GetKey("up")) {
            returnCenter = false;
            transform.rotation = Quaternion.Slerp (transform.rotation, toLeft.rotation, Time.deltaTime * speed);
            Biker.animation.CrossFade ("LeanLeftB");
            leftLean = true;
            rightLean = false;

        } else {
            if (Input.GetKey ("right") && Input.GetKey("up")) {
                returnCenter = false;
                transform.rotation = Quaternion.Slerp (transform.rotation, toRight.rotation, Time.deltaTime * speed);
                Biker.animation.CrossFade ("LeanRightB");
                leftLean = false;
                rightLean = true;

            }
        }   

        if (returnCenter) {
            transform.rotation = Quaternion.Slerp (transform.rotation, toCenter.rotation, Time.deltaTime * speed);

            if (leftLean){
                leftLean = false;
                Biker.animation.CrossFade ("LeanLeftBackB");
            }
            if (rightLean){
                rightLean = false;
                Biker.animation.CrossFade ("LeanRightBackB");
            }
        }
    //Debug.Log(transform.rotation);
    }
}

After cursing over and over and truing everything under the sun it turns out all I had to do is add add the fade length in the CroosFade ex. OLD - Biker.animation.CrossFade ("LeanLeftB"); NEW - Biker.animation.CrossFade ("LeanLeftB", .3);

That was a day and a half I'll never get back. Hope this helps anyone else who has the same problem.