Fixed.
This turned out to be a customisation made by the department that handles our VM Templates. They, for reasons unknown to me, decided to put the following line in /etc/sysconfig/init:
umask 027
Which changes the umask applied to a init daemon at boot. What was interesting was if you restarted the process after boot it would go to the system default of 022.