I cant see any way of stopping this from happening - pretty much whatever you do the cheater will still be able to manually "copy" the move that the other player has made (to another computer if necessary).
How about somehow using social mechanisms to discourage these sorts of players? Cheating in this way is obviously in itself fairly unrewarding in the long term for the cheater - if you can find and eliminate / safeguard any potential gain (for example ranked tournaments with prizes) that the cheater might be able to use this to explit against, then you should at least be able to keep the percentage of cheaters down allowing most other users to enjoy "genuine" chess games.