Maybe you can get along without getCursor(). Use ModuleInstance.getDocument to obtain an instance of you document and BusinessDocument.getDescendant to access the node you want to modify.
Note that the Java API in X-Application 3.1.2 include quite a few changes, e.g. the ModuleInstance class was replaced by SessionContext. You might want to upgrade before digging into the APIs …
Upgrading to X-Application 3.1.2, I was able to retrieve the element action string (requestContext.getElementAction()),which contains the cursor position.
A general question to the X-Application team - do you envision that the API will continue to change significantly in future versions?
we will continue to improve the API with additional functionality. This might imply changes on the API. Nevertheless we try to keep the API stabil. In any case changes will be documented in the changelog (old and new usage for typical use cases). Normally we will anounce major changes in the Discussion Forum (the next days we plan to announce our mid term strategy there). This way you can foresee the impact on your implementation. Don´t hesitate to use the API or change the sources if it solves your problem. This is why we release the source code.