Again, please use code tags when posting code and indent it properly. Also please edit your posts and do not double post instead.

When you have set the PASSABLE flag but the player still gets stuck you have most likely forgot to set the IGNORE_PASSABLE flag when using c_move in the player's action.

Here is an alternate suggestion to your code which is (at least from my point of view) better readable and fixes the timing problem:
Code:
function kazooie()
{
	set(me,PASSABLE); // Do this only once
	planning_time = 0;
	while(planning_time < 100)
	{
		vec_set(my.x, vector(0, 2.6, 5));
		vec_rotate(my.x, player.pan);
		vec_add(my.x, player.x);
		my.pan = player.pan;
		planning_time += time_step; // Use time_step instead of 1 to fix the timing issue.
		wait(1);
	}
	ent_remove(my);
}



Always learn from history, to be sure you make the same mistakes again...