Why would a block end up in a snapshot if it is the same as the previous snapshot? Isn't the point of snapshots only to save the 'old version' of blocks that have been changed?
Chuck,
Microsoft designed CIFS, in their infinite wisdom, such that it rewrites the entire file instead of updating changed blocks. Netapp Ontap detects this and updates the changed blocks only. This feature is proprietary to Netapp and is meant to save a lot of snapshot space.
Sorry I can't answer your other questions.
/Brian/