hanging bullet trails

I looked on this message board before hand, and found one topic where another user was having issues with rocket smoke staying after the rocket explodes. The answer was detach the emitter, stop the emittion, and then destroy the object after x seconds. Well I believe my code is correct, but it is not working. Will anyone please tell me what I am doing wrong, or point me in the right direction?

function OnCollisionEnter(collision : Collision) {
gameObject.particleEmitter.emit = false;
transform.DetachChildren();
Destroy (gameObject);

}

if this emitter is a child of the bullet, then you can simply use the `Destroy(hit.transform.root.gameObject);`

that is what i'm using on my missile paths and it works

The code looks fine. I can only think of things you might have done wrong in unity.

Is the script running on the bullet? Is the particle emitter on a child gameobject of the bullet? Does the code in the script get called? (try adding a print statement, and check the console)

Thats all I can think of right now.