Not updating when script value is changed by an editor script

I have an editor script that generates text based on a prefab created with SpriteText. My script successfully builds the instances of the SpriteText, but the objects are not updating for the new text string assigned programmatically.

// Executed within OnInspectorGUI
var clone : GameObject = EditorUtility.InstantiatePrefab(target.WordPrefab);
clone.name = ""+index+"_"+p;
clone.transform.parent = words.transform;

var spriteText : SpriteText = clone.GetComponentInChildren(typeof(SpriteText));
spriteText.text = p; // assigning new text string

// trying to force an update
EditorUtility.SetDirty(spriteText);
EditorUtility.SetDirty(clone);
spriteText.UpdateMesh();     
spriteText.SendMessage("Update");

When this code is executed, I get the new prefab instances, but they all appear with the default prefab text, despite that when I look at the inspector for each item they have been assigned the new text correctly. If I manually change the text, it then will finally update, but I can't seem to trigger an update from my editor script. The calls to UpdateMesh() and SendMessage() are simply my feeble attempts, but no luck.

Any ideas to force the script/object to update?

Are you applying [ExecuteInEditMode] on the SpriteText GameObject?