Still working on this, it's not straightforward at all. :(
In the mean time, a workaround would be to make your spellcheck replacements in insert mode instead of visual mode, or to make sure that your visual mode cursor isn't on the word that needs to be replaced.