I think you only need to make sure that the slaves accept notifications (from the master) and that the master sends them notifies, and allows transfers to be pulled from them.
If that's all set, have a look in the logs, to see that
1. those notifies get sent
2. they are received on the slaves
3. the slaves try and do a transfer after notify
4. the transfer actually works.
Since you indicated that transfers do happen, but much later, it seems to me that the notifies either don't get sent or aren't received.
Is there a firewall between the master and the slave that doesn't seem to receive notifies? I would carefully check the logs on both sides, and possibly do a tcpdump on both ends to see what leaves and what comes in.
If I remember correctly notifies are usually sent as udp/53 packets, while transfers usually happen over tcp/53.
Try
Code:
tcpdump -nnvvvi eth0 port 53
if you suspect network / firewall issues, will you show you both tcp and udp packets, and tcpdump understands DNS well enough to give a clue what is happening. You could filter per host ('and host <the-other-end>') if there is too much DNS traffic to see anything useful.
Totally different thing: make sure the slave doesn't think it has a more up to date version of the zone file. The notify stuff only works, I think, if you up the version number of the master zone file, and it is higher than that on the slaves. Shouldn't be the case since you do see the transfers eventually.
-Bert