There is no option in the gvim doc that allows to do exactly what you want when editing your vimrc file. FYI, options are available here: http://vimdoc.sourceforge.net/htmldoc/autocmd.html#CursorMoved
However, you can add the following code to your vimrc file:
au MenuPopup * let g:oldmouse=&mouse | set mouse=
au CursorMoved * if exists('g:oldmouse') | let &mouse=g:oldmouse | unlet g:oldmouse | endif
What it does:
It records the cursor position on RightClick event (the one that displays the contextual menu).
Then if you do a selection, the cursor will remain to the recorded position (and will not change).
Once done, the recorded posisition is deleted on cursor movement, e.g. hitting a row, so that you can still move the cursor by click.
Of course you can use another event than the right click.
Hope it helps.
PS: it is like you create a "selection" state, activated by right clicking (or anything else you prefer) and deactivated by cursor move with keyboard. During this state, all your selections won't change the cursor position.