Your code is working exactly as it should. In order for you to insert text at a given position, you have to actually tell Word where that position is.
Your code doesn't do that...here's what you're doing.
You open the Word document. (By default, the caret will be at the first position...or "starting" position as you said).
Then, you grab the current selection. (But again, you've not told Word to change the caret position, therefore, the current selection has a length of 0 and a position in the text of 0).
Then, you insert text at that current selection (which we've just said was at the starting point).
Of course it's possible to insert text at a given position in the text. You just have to tell it where to start.
Have a look at this: Word Object Model Overview
You can do that through