The synchronise database operation in version 1.1 downloaded all rows from HRD Logbook and then updated existing rows, and inserted new rows, in the SQLite database as individual transactions which made the performance terrible on larger datasets. All of the rows but one or two may have been processed successfully, but a missing row or two probably went unnoticed.
But as I said, in order to improve the improve the performance in version 2, we switched to a truncate, then insert all rows in a single transaction model. The performance improved dramatically, but if one bad row causes an error, then none get inserted. A small price to pay for a dramatic improvement performance I think, but it also means I have to get the code to handle all types of error conditions, and obviously you have something in your database that my code can't handle - and it should.
I test with a row 100,000 test database that takes about 3 minutes to sync without any issues at all. So I am keen to get to the bottom of this.
I forgot to ask if you could also zip up all of the '*.log' files, and the 'settings.config' file in your AppData folder and email them to me?