Unfortunately that doesn't help, I did that as part of the troubleshooting steps and the synchronization works intermittently.
I can't track the root cause down, but it seems that when the sync fails and the notebooks disappear the initial call returns the same results (I removed information that could be potentially sensitive):
HEAD https://d.docs.live.net/<omitted>/Documenti/Work/ HTTP/1.1
Connection: Keep-Alive
Cookie: SkyDocsAuth=FAB6ARQb1WAUSMTx3I8gWGgY7SMCFTTLJg<truncated>
SkyDocsSecAuth=FAB6ARQb1WAUSMTx3I8gWGgY7SMCFTTLJgNmAA<truncated>; ClientCanary=+SgKh<truncated>=2; xid=9ac9bd61-<truncated>&&DM5SCH<truncated>; xidseq=34; E=P:XE<truncated>=:BMbvHiJqVbWTQM<truncated>=:F; RPSShare=1; PPLState=1
User-Agent: Microsoft Office Existence Discovery
X-Office_Authorization_Check: 1
Host: d.docs.live.net
But THEN, the GetChangesSinceTokenRequest request can either contain OR not contain the following item:
<SyncToken>LM=<omitted>;ID=<omitted>;LR=<omitted>;EP=15;SI=57;SO=0;PI=3</SyncToken>
When the request contains it, the synchronization succeeds and the notebooks re-appear (after re-downloading them).
When the request does not contain it, the response looks like:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetChangesSinceTokenResponse xmlns="http://schemas.microsoft.com/clouddocuments">
<MinAmIAloneSyncInterval>30</MinAmIAloneSyncInterval>
<MinBackgroundSyncInterval>600</MinBackgroundSyncInterval>
<MinRealtimeSyncInterval>5</MinRealtimeSyncInterval>
<SyncData>
<multistatus xmlns="DAV:">
<response>
<href>https://d.docs.live.net/<omitted>/Documenti/Work/</href>
<resourceId xmlns="http://schemas.microsoft.com/clouddocuments"/>
<propstat>
<status>HTTP/1.1 403 Forbidden</status>
</propstat>
</response>
</multistatus>
</SyncData>
<SyncToken/>
<MoreDataPages>false</MoreDataPages>
<SyncStatus i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
</GetChangesSinceTokenResponse>
</s:Body>
</s:Envelope>
And the notebooks disappear again :-(