Adam,
Something a bit weird is happening:
int pos = 0; // Editor1.ToolControls.IndexOf("Italic")+1;
WebControl ctr = Editor1.CreateCommand Button.......
...................................
Editor1.InsertToolControl(pos,"MyButton",ctr);
When i uncomment the "Editor1....." to fill in the pos variable, the Text property of the editor becomes incorrect.
But when i use "0", it works fine. it looks like the "Editor.ToolControls.IndexOf("Italic")+1 " is causing the error.