Insatiating from moving objects

I want my enemy object to make a replacement rag doll and have that rag doll be affected by explosion force then after a timer I want the object to spawn it’s own explosion and destroy itself. Should be basic, but Unity wants to do it stupid.

What happens is I shoot the enemy with my rocket, it replaces itself with rag-doll and rag-doll goes flying from the rocket explosion then after the timer on the rag-doll expires it destroys itself and creates an explosion where the rocket initially impacted not where the rag-doll currently is.

Time out die code that’s attached to the rag-doll object:

var timeOut = 3.0;
var boomy : Transform;
var hasBoom = 1;

// Kill after a while automatically
function Start () {
	Invoke("Kill", timeOut);
}

function Kill () {
if (hasBoom == 1) {var Boom : Transform = Instantiate(boomy, transform.position, transform.rotation);}
	// Destroy
	Destroy(gameObject);
}

BUMP

Nobody knows I guess.