Ouep, je voulais prendre l'exemple d'une requête SQL au départ mais c'est pas un bon exemple, tu attends toujours un HANDLE qui est waitable. (cf. la doc ici:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms686364(v=vs.85).aspx )
De fait, c'est toujours un objet sur la machine locale que tu attends.
Pour la synchronisation cross-machine, au pire, ce qui va se passer, c'est que ta connexion TCP (ou toute autre abstraction basée sur des sockets) va couper et si tu fais les choses à peu près correctement, tu devrais t'en rendre compte assez vite ^^