If CAS is used to index Sharepoint or a file system with the appropriate adapter, can it be configured to know what changed or does it have to crawl the entire repository every night to index? If it crawls the entire system, does it re-index everything?
The answer is different between SharePoint and File Systems.
For File Systems, the crawler will go out and "touch" each file checking a variety of properties (Filename, size, date modified, owner, etc.) and if it recognizes a change in any of those properties, it will crawl that particular file and extract the content. If no change in those properties is detected, it will skip that file.
For SharePoint, I believe that it re-crawls the entire repository but the documentation is a little sparse in this area. Regardless, the record store is smart enough to keep the generations distinct and allow you to pull incremental updates between the two versions, even if they were both the result of a full crawl.