I guess no one has any ideas, so I tried something different.
I copied the slave zone files to /var/cache/bind/ as was suggested in many discussions. I then changed the serial numbers, and a couple of other slight changes to the zone files on the primary server. i watched the logs on the slave server, and was thrilled to see the files update without any errors. Then a short time later, I looked at the log again, and saw the same files, and the same permission errors. It showed the new directory, but the errors were still coming.
So now the question is, why does it update perfectly when there is an actual change in the file, but throws an error if the slave looks for an update when it's not needed?