Okay, see, what we're doing with <CNP is changing which of the two entities in any given spot is a spike. The two entities have different values to decide which direction they potentially face, so you can <CNP them at any point to switch the two entities, essentially "changing the direction" of the spike.
Well first of all you're using the wrong command. If you wanted to do something like that you'd use <ANP to animate it, not <CNP to change its NPC. But don't use <ANP for spikes, it doesn't work.
Spikes use a certain value (either event # or entity flag, can't remember) that tells the spike what direction to face. I'm pretty sure it loops so it's easy to find an event # you can use (if it is the event # that you have to change to change the direction).
To change the direction use two entities for each spike: one for the original created as the map loads, and one for changing direction. Make the first all fine and dandy, but give the other the properties for the direction you want but keep its NPC 0. Whenever you want to change its direction then delete the first entity and <CNP the second to make it a spike.
You followin'?
Wait, I'm confused.
So...you're trying to change the direction of spikes during a script event, but instead they turn invisible? And what's this about different entities?