Have you tried some thing like this one,
Code:
action exhaust
{
my.scale_x=0.02;
my.scale_y=0.02;
my.scale_z=0.02;
my.nofog = on;

my.oriented = off;
my.facing = on;
my.transparent=on;
my.alpha=70-random(50);
my.ambient = 100;
my.flare=on;
my.bright=on;
my.passable=on;
my.invisible=on;

wait(3);

my.invisible=off;


while(my.alpha>0)
{

if(my.alpha>12){my.alpha-=time_step*5;}
else{my.alpha-=time_step*2;}



wait(1);
}
ent_remove(my);

}




and call with

ent_create("exhaust_red.tga",my.x,exhaust);// or blue or green etc

in your bullet or trail code, may need scaling to suit.