Apparently, there’s something wrong with this functionality in 2.6x (later versions). I’ve posted about this in the blender.org animation forum: http://www.blender.org/forum/viewtopic.php?t=26269
Apologies if this is considered to be a crosspost, but I’ve recently understood the blender.org forums are meant primarily for developer questions, rather than user questions.
Anyway, I’ve still not found an answer to this, and it seems I’m not the only one, so I might as well give it a go here.
Btw, fortunately, since I’m using the game engine, I was able to work around this by using endObject() and addObject() actuators. Granted, it’s a little ‘over the top’, but it worked!