suspicious losses like "all the sudden"
If he's moving instantaneously, then he can't be using an engine. It takes time to transfer the moves from the web browser to the engine, to wait for it to calculate, and to transfer the reply back to the web browser.
Do you know what a "pre-move" is? That sounds like a much more likely explanation.