Raycast Collisions

I have a canon(cylinder) that is supposed to be firing a bullet(a sphere). When it hits the floor(a plane) i want the bullet to be detroyed and print a message in the console. However it does not do what i want it to do no matter how big a ray cast i use. Any ideas? Here is the code:

function Update () { var hit:RaycastHit;

print ("x="+transform.position.x+", y="+transform.position.y+", z="+transform.position.z);
if (Physics.Raycast(transform.position,transform.up,hit,5) || Physics.Raycast(transform.position,transform.right,hit,5))
{
    //Destroy(gameObject);
    print(hit.collider.gameObject.name);
}

}

I would suggest that you use OnCollisionEnter instead of using raycast. Inside the OnCollisionEnter you can check for what the bullet has hit, and remove it if its the floor.

function OnCollisionEnter(collision : Collision) {
if(collision.gameObject.tag == "Floor");
{
// Destroy the bullet
Destroy (gameObject);
}
}

You are checking a ray with UP or RIGHT for checking something on the floor? Try Vector3.down