Search Server has a configurable tolerance for errors that it encounters during a crawl (a "delete" is technically an error: Object not found). If you think about traditional web crawling, this makes sense as you never know when a site may just be downtemporarily. You would not necessarily want to remove all content from your index just because the crawl coincided with a temporary network outage or something like that. In our system though we tend to know exactly when data should be removed. For thatreason, we typically configure Search Server to set these tolerance levels to 0.
Files are not deleted on the first crawl after they have been removed from CMS.The steps below describe how to check the Search Service Application deletion settings:
Open the SharePoint PowerShell console.
Start > All Programs > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell
Run the following commands:
If either command returns a non-zero value, force the property to 0 with the following commands: