just wanted to share this as i've recently seen this in a customer's network:
there was one account whose address books didn't sync at all, regardless of the device used. mail and contacts just went fine, no issues at all with all the other accounts.
in verbose logging you could see the "skipping item because it is in a disallowed folder" message as you see it if someone accidently moves "mailbox" under "cabinet". for the address book issue it turned out that the user had defined a shared address book as his primary contacts folder. so essentially the behaviour and log message absolutely made sense.
in this instance just changing the primary folder and restarting datasync to make it aware of the change was not enough to make address books sync, we needed a gwcheck with "folderreset" on the user database.