I tried your app first on a 10" tablet running 3.1. I typed a bunch of numbers in and then touched to the middle of them to move the cursor and a keyboard popped up and all the text was highlighted. I quit and recompiled several times and it worked perfectly each time -- the cursor moved and the keyboard never showed up again.
I uninstalled it from the tablet, compiled it again, and when the app started, the Android keyboard was open. After I closed it, the app worked w/o the keyboard showing up again.
Compiled to a 7" tablet running 2.2, typed some characters, but every time I touched the middle, a keyboard would start to pop up then disappeared. The cursor stayed at the end. Quit and recompiled and never saw the keyboard again, but the cursor never moved. Uninstalled, recompiled, saw the keyboard once before it disappeared but again, the cursor never moved.
I'm trying to work out a method using a series of labels to cover an EditText which is set to no keyboard. For example, if the EditText view is 10 characters wide and 200 pixels wide, I use ten 20-pixel wide labels across it. The cursor is a 1-pixel wide label which overlaps the last 2 pixels of the label touched. When a key on the custom keyboard is touched, the characters after the cursor are moved over one label and the new character is put in the label to the right of the cursor, then the cursor moves to its right.
When a left or right arrow is touched, the cursor labels just moves left or right one charater label width. If backspace is touched, the characters to the right of the cursor all move left 1 label and the cursor moves 1 character left.
I don't see any reason this shouldn't work, but it's not working perfectly yet for some reason.