This is the second time I've encountered a bug like this. What I want to happen is for an enemy to follow the ffc around the screen. That doesn't happen. The enemy gets created and moved to the x,y coordinates of the ffc's original starting location, but as the ffc moves, the enemy stays put. The code IS moving the enemy each frame, as evidenced by the fact what the enemy doesn't move anywhere.

Code:
// =====================================
// enemy_ghosting - This ffc will create
// a specified enemy at the location of the
// ffc.  It will set the enemy's HP to a 
// defined value.  The enemy will be kept 
// centered at the ffc.
// Use to give an FFC "hit points" by creating
// a fire enemy or shooter that moves with it.
// D0 = The enemy ID you want to create.
// D1 = The HP you want the enemy to have.
// =======================================

ffc script enemy_ghosting{

	void run(int enemy_id, int hit_points){

		npc ghost_enemy = npc CreateNPC(enemy_id);
		ghost_enemy->HP = hit_points;
		int x = this->X;
		int y = this->Y;

		while (true){

			ghost_enemy->X = x;
			ghost_enemy->Y = y;
			int x = this->X;
			int y = this->Y;
			Waitframe();

		} // end of while loop

	} // end of void run

} // end of enemy_ghosting