Ну вот, что надумалось:

Код:
sr.clonen.onChanged = function() {
var index = Selection.getCaretIndex();
var broken = this.text.split(chr(4));
for (var i = 1; i<broken.length; i++) {
broken[i] = String.fromCharCode(1024+broken[i].charCodeAt(0))+broken[i].substr(1);
}
var out = broken.join("");
if (index<out.length-1&&this.text.length!=out.length) {
Selection.setSelection(index-1,index-1);
}
this.text = out;
};
Опять же, актуально IE only.