Deprecated: This article doe not apply to SQList version 5.0.3, or later.
SQList handles deleted items in a particular way.
When an item is deleted in SharePoint, it is moved to the recycle bin, if enabled by the site administrator. Depending on how SharePoint is configured, it will remain in the recycle bin for a period of time, then deleted permanently. There also are two levels of recycle bin. This article has more details about the SharePoint recycle bin: Restore a deleted object from a SharePoint Recycle Bin
Because of the way it works, and the special permission that are needed to access the recycle bin, SQList does not use the recycle bin to detect deleted items.
SQList detects deletions by comparing the list items IDs in the SharePoint list with the row IDs in the SQL table. This method has the disadvantage of being much slower than checking for deletion in the recycle bin, but has the major advantages of not requiring special permissions to check for deletions, and of working even if the deleted items have been removed by the recycle bin or the recycle bin is not enabled.
Also, SQList does not check for deleted items every time it updates a SQL table. Every time an item is delete from a list, SharePoint stores against the list the date and time of when that happened. SQList uses this date/time to decide whether to check for deletions or not.
When checking for deletion, SQList loads all items IDs from the list and from the SQL table, compares them, and delete from a the SQL table(s) the IDs that are not present in the SharePoint list. The IDs are loaded in batches; the size of the batch is 500 by default, but can be changed in SQList Manager's "Settings" tab.
Because deletions are checked only after a SQL table is synchronised with it corresponding list, and of the way SQList works, it can take some time for deleted items to be removed from a SharePoint list, especially for large lists.
Important: stopping and starting the SQList service affects the removal of deleted items, for that reason the SQList service should left running at all times and stopped and restarted only when neccessary.