I'd vote for making it opt in as well - just in case.
Although the ping check and "return to initial state" solution sounds like it should very much cover all fronts...
The only thing anyone could "loose" that way would be a fall back in case he "didn't mean to connect" at that time - although, I'd say those cases should be fairly limited - as digging into KUAL, your app, and pressing the sync button is a pretty strong sign of intent.
I'll test your github build asap - you'll get the feedback on it in two minutes.