I have a custom BDC connector that I have used successfully in the past. In one installation, I find this in the ULS: "myprotocol://host/param cannot be crawled. Context: Application 'Search_Service_Application', Catalog 'Portal_Content' Details: Item not crawled due to one of the following reasons: Preventive crawl rule; Specified content source hops/depth exceeded; URL has query string parameter; Required protocol handler not found; Preventive robots directive. (0x80040d07)". I ran ProcessMonitor as I started a full crawl on the source, and the crawler does not try to load my handler; in fact, it doesn't even look in the registry (Search\Setup\ProtocolHandlers\myprotocol).
I ran the PowerShell command "New-SPEnterpriseSearchCrawlCustomConnector" and the source type shows up in the UI when I create a new content source, so I know things are partly working.
Why does SharePoint think my protocol handler is not registered? How can I troubleshoot this further?