The disconnected desktop app and disconnected web app are two different monsters. Both should be approached differently. I haven't used the disconnected desktop in a while but the sync procedure can be called anytime you wish with:
I'm going off of memory so here we go.....
database.js will contain a list of all the tables in your dictionary. You will notice that it will be declared as an object called database and then the database object will have several fields under it such as name, syncserverhost, username, password, companyname, etc. These fields can be filled by the single record table that Bruce describes in the NT docs or you can leave them as is.
Now, if I'm off on my description, I hope Bruce claifies but that's my "off the top off my head" overview. The disconnected web app stuff does work. Just be patient as look over database.js and nt-idb.js closely. Here's another tip; In the nt-idb.js, there are many console.log('blah blah') entries spread throughout the script. Most are commented out. Un-comment out those console.log entries. You can also add your own. Now can watch nt-idb.js in action with Debugview++. It will really help give you a better idea of what's going on.
Also, in your disconnected web app, make sure you either (1) Do not have the global nettalk Set Time Stamp extension in your app at all. It will sync without it. OR (2) If that extenstion is in there, make sure the set ServerTimeStamp is set to false. You want you server to set that time stamp.
I think I read the documentation about 50 times before I got my mind wrapped around how everything works. Just know that it does work as long as everything is setup properly. One thing to remember if you're using JSON as your return values is that JSON is case sensative.
Good luck and I would be happy too get with you and maybe do a TeamViewer session with you to get you going.
See ya and good luck,