I'm having a similar problem - the mark is unset by movement commands. This is with (transient-mark-mode -1) The problem seems to disappear with (transient-mark-mode t) (but I don't like using that). I installed polymode today from melpa.