Also have the same error (but than 'invalid function arguments in enemy_missile') in my code for the enemy projectiles. Maybe it is the same thing that causes it?
Here's the code for the enemy projectile:

Code:
action enemy_missile()
{
if (connection & CONNECT_SERVER) my.smask |= NOSEND_FRAME | NOSEND_ALPHA | NOSEND_COLOR | NOSEND_FLAGS | NOSEND_SCALE;	
while(connection != 0 && my.client_id < 0) wait(1);	

my.group = 1; //projectiles		
...

my.STATE = 1;
	
my.LIFETIME = 200;
...
 	
	wait(1);
	c_setminmax(me);

	while(1)
	{	
	// state 1: flying ///////////////////////////////////////////  
		if (my.STATE == 1) 
		{  
			//on server	
 			if ((connection & CONNECT_SERVER) || connection == 0) {	
 			my.LIFETIME -= time_step *4;
			my.GRAVITY_SUM -= my.GRAVITY * time_step;	
 			if (my.LIFETIME <= 0) my.STATE = 2; //go to STATE 2		
			 //go to STATE 2
		 	 if (global_timer_cscan == 1 || global_timer_cscan == 3) {
			 c_ignore(1,3,4,0); 
			 if (c_scan(my.x, my.pan, vector(360, 360, my.AREAOFEFFECT), SCAN_ENTS | SCAN_FLAG2 | IGNORE_ME) > 0) 
			  { my.STATE = 2; send_skill(my.STATE,SEND_ALL); }
			 }
			//move projectile 	
			c_ignore(1,2,3,4,0);
			c_move(me,vector(my.MOVEMENTSPEED*time_step,0,0),vector(0,0,my.GRAVITY_SUM),IGNORE_PASSABLE);
			 //go to STATE 2
			 if (HIT_TARGET && my.STATE == 1) { my.STATE = 2; send_skill(my.STATE,SEND_ALL); }
			}

                        //on client
			else {  
			//move projectile 	
			c_ignore(1,2,3,4,0);
			c_move(me,vector(my.MOVEMENTSPEED*time_step,0,0),vector(0,0,my.GRAVITY_SUM),IGNORE_PASSABLE);
			if (global_timer_cscan == 1 || global_timer_cscan == 3) {
			c_ignore(1,3,4,0); c_scan(my.x, my.pan, vector(360, 360, my.AREAOFEFFECT), SCAN_ENTS | SCAN_FLAG2 | IGNORE_ME); }
			}
		}

	// state 2: exploding ////////////////////////////////////////  
		if (my.STATE == 2) 
		{
			my.smask |= NOSEND;
			break;
		} 

		wait(1);	
	}
	ent_remove(me);
}