Oh sorry, i don't know that waiTT(3); exist...
I'm not a expert.

Test it so: Maybe it works.
Code:
var firing = 0;
var s_laser;
sound laser <laser1.wav>;
function event_fuoco() {
firing = 0;
ent_remove(my);
}
action fuoco {
e_fuoco = my;
e_fuoco.enable_block = ON;
e_fuoco.event = event_fuoco;
e_fuoco.scale_x = 0.066;
e_fuoco.scale_y = 0.066;
e_fuoco.scale_z = 0.066;
f_fuoco();
}
function f_fuoco() {
temp.x = 0;
temp.y = 12*time;
temp.z = 0;
c_move(e_fuoco,temp,nullvector,IGNORE_YOU);
s_laser = snd_play(laser,30,0);
waitt(3); //
firing = 0;
}