Why can't I SendMessage to Prefab?

It says there is no receiver.

#pragma strict

var TheRaycastCube : GameObject;


function Update () 
{
	if(Input.GetKeyDown(KeyCode.O))
	{
		var RaycastCube = Instantiate(TheRaycastCube, Vector3(Random.Range(-100,100),100,Random.Range(-100,100)), Quaternion.identity);
		RaycastCube.transform.parent = this.transform;
		RaycastCube.SendMessage("Create");
		Destroy(RaycastCube.gameObject, 5);
		
	}
}

Use this…

 #pragma strict

var TheRaycastCube : GameObject;


function Update () 
{
	if(Input.GetKeyDown(KeyCode.O))
	{
		var RaycastCube = Instantiate(TheRaycastCube, Vector3(Random.Range(-100,100),100,Random.Range(-100,100)), Quaternion.identity);
		RaycastCube.transform.parent = transform;	
		var Children = RaycastCube.GetComponentsInChildren(RaycastScript);  
		for (var comp:Component in Children)
		{ 
			var raycastScript : RaycastScript;  
      		raycastScript= comp as RaycastScript;
			raycastScript.Create(); 
		}
		//Destroy(RaycastCube.gameObject, 5);
	}
}

#pragma strict

var TheRaycastCube : GameObject;
 
 
function Update () 
{
	if(Input.GetKeyDown(KeyCode.O))
	{
		//ensure RaycastCube is a GameObject, RaycastCube  
		//will default to Object otherwise because that's 
		//what Instantiate() returns
		var RaycastCube : GameObject = (GameObject)Instantiate(TheRaycastCube, Vector3(Random.Range(-100,100),100,Random.Range(-100,100)), Quaternion.identity);
		
		//no need for "this.", since we're in this script and 
		//there's no ambiguously-named variables, "transform"
		//will implicitly resolve to "this.transform"
		RaycastCube.transform.parent = transform;
		
		//NOTE: this will only do something if RaycastCube
		//has a script attached to it that contains a
		//"function Create() { /*code here*/ }
		//Also, you might want to add a second argument, 
		RaycastCube.SendMessage("Create");
		
		//no need for ".gameObject" now we've made 
		//RaycastCube the GameObject
		Destroy(RaycastCube, 5);
	}
}

The reason your code didn’t work is because you were trying to SendMessage() to an Object, but an Object can’t use SendMessage(). An Object is what Instantiate() returns by default. This means that if you’re using “var” without a type specifier, the compiler will infer the type for you based on context, unless you specifically typecast the result to GameObject. In your case, the compiler detects that Instantiate() returns an Object, and thinks “they’re assigning an Object to a variable I don’t know the type of, so chances are the variable’s type is an Object”.