IE не хранит позицию курсора в TextArea. Если бы это было так, то в этом форуме можно было бы вставлять смайлы именно как ты хочешь, а не в конец текста (Я специально поднял кучу доков и проверил).
Можно было бы перехватывать нажатия клавиш (onkeypress), запоминать и заменять event.keyCode на что-нибудь непечатное (1, 2 ...), потом определять его позицию в TextArea и заменять _непечатное_ на введённое пользователем значение. Но... клавиши удаления и курсора наплевательски игнорируются

Кроме того, после потери фокуса (что произошло бы при нажатии кнопки), TextArea не запоминает позицию курсора (пройдись Tab, Shift-Tab).
Однако, можно же использовать пресловутый Drag & Drop, или выделение! С Drag & Drop не пробовал, но должно выглядеть неплохо -- подцепил иконку и снёс на TextArea.
Выделение (selection) может быть проще, но оно глобально (document.selection) -- нужно осторожнее с ним, а то будешь редактировать HTML страницы на лету
P.S.
Ежели нужна кому реализация на Drag&Drop -- сигнальте, постараюсь разобраться.