Rotation Problem

Here's the Script:

var CloneObject : Transform;

function Update () {

var Center = CenterObj.position;

    if (Input.GetKey("right")){
        transform.RotateAround(Center, Vector3.up, 25 * Time.deltaTime);
    }

    if (Input.GetKey("left")){
        transform.RotateAround(Center, Vector3.up, -25 * Time.deltaTime);
    }

    if (Input.GetKey("up")){
        transform.RotateAround(Center, Vector3.right, 25 * Time.deltaTime);
    }

    if (Input.GetKey("down")){
        transform.RotateAround(Center, Vector3.right, -25 * Time.deltaTime);
    }
Shoot();
}

function Shoot(){
    var hit : RaycastHit;
    var rndRotate =transform.TransformDirection(Vector3(Random.Range(-0.1, 0.1), Random.Range(-0.1, 0.1), -1));
        if(Physics.Raycast (transform.TransformPoint(0, 0.07, -1.2), rndRotate, hit, 200)){
            Debug.DrawLine (transform.TransformPoint(0, 0.07, -1.2), hit.point, Color.green);
                var hitRotation = Quaternion.FromToRotation(Vector3(0, 1, 0), hit.normal);

                var bullet : Transform;
                bullet = Instantiate(Bullet, transform.TransformPoint(0, 0.07, -1.2), transform.localRotation);//InverseTransformDirection(0, 0, 1)
                bullet.Rotate(rndRotate*70);
                bullet.parent = CloneObject;
        }
    }
}

The Problem i am having is that when the gun rotates to the left, the bullets begin shooting downwards, and when i move it to the right, they begin shooting upwards.

Here's the script to move the bullets:

var BulletSpeed : int = 50;

function Start(){
    rigidbody.AddRelativeForce(Vector3(0, 0, 1) * BulletSpeed);
}

Anyone know why the Y rotation of my gun has somehow been changed to the X rotation of my bullets? Because the bullets shoot straight forward when the gun is straight forward, and only the X rotation of the bullets change when the Y rotation of the gun is changed.

I just did it without bones. It works now.