I think a good choice of having ListingID in the Title of the Property is always a good choice. How many characters are you limited for the title?...
I had a similar seemingly random duplicate problem myself. I finally determined the problem is that RETS Server offsets are 1 based, not zero based. Also, if you don't pass an offset with your request the server will sort the results differently than if you do. If you can inspect...
The issue is with the parameters in your SearchQuery. One of the fields in your search query is ListDate. Looking at the attached excel file containing the metadata, "ListDate" is in Column B under StandardNames. The RETS specification uses System Names as default (see below). You need to specify '"StandardNames"...