I've enabled logging and more verbose logging.
The problem is not as straight forward as I initially thought:
Adding a new zone is added correctly, and BIND is reloaded on all servers. Editing this new zone also works correctly. So it seems the problem is actually BIND not reloading when editing the zone files for certain existing domains.
Editing one of the zones which does not work correctly outputs the following:
root@omega [~]# tail -fn0 /usr/local/cpanel/logs/error_log
[2011-04-22 22:33:12 +0000] warn [dnsadmin-ssl] Could not read from /var/named/co.uk.db on omega at whostmgr/bin/dnsadmin-ssl line 1604
main::getzonelocal() called at whostmgr/bin/dnsadmin-ssl line 539
main::local_action_handler('GETZONE') called at whostmgr/bin/dnsadmin-ssl line 341
Editing a (broken) zone outputs nothing to /var/log/messages, and editing a new (working) zone outputs
Does this mean that it is an issue with individual .db zone files?
Apr 22 22:43:12 omega named: zone domain.com/IN/external: loaded serial 2011042002
Apr 22 22:43:12 omega named: zone domain.com/IN/external: sending notifies (serial 2011042002)
Apr 22 22:43:12 omega named: zone domain.com/IN/internal: loaded serial 2011042002
Apr 22 22:43:12 omega named: zone domain.com/IN/internal: sending notifies (serial 2011042002)