This applies to a text group.
I does appear tht the cursor actually, though often invisibly, moves when the arrow keys are pressed. If I start out by making a number of blank lines so that the (visible) cursor is at the bottom line and then press the up arrow key a few times, the visible cursor stays on the bottom line and no other cursor appears. However, when I type a letter, it appears on the line where the cursor should be, the cursor at the bottom disappears, and no new cursor appears. If I double click right after the letter, the letter becomes highlighted, but with one more click the highlight goes off and the cursor appears after the letter.
If I again create a number of blank lines with the cursor on the bottom line, I can go up and one by one double click on each line. The result is a cursor at the beginning of each blank line.
Now start out with a word at the beginning of a text group line. If I ckick between each letter in the word, I can get a situation where there is a cursor between each letter in the word and at the end. The cursor placed last actually determines where a newly typed letter will go.
Thus the true cursor seems to always exist in the correct location but may be visible or invisible. On the other hand, there may be visible cursors, even many, which do not indicate the actual location of the writing cursor. Thus the code seems to have a multiple personality, one part of it knows where the writing cursor should correctly be, while the other part which runs the visible placement cannot follow in real time although it does seem to evenually catch up. This observation should allow someone to locate the bug in the code.