Geoff,
The observation of intermittment behavior could point to a physical layer issue. For instance, let's take a basic example of four PRIs configured as a single trunk group where ingress calls hunt sequentially from 1 to 4. If you only notice the issue when running at 75% utilization then your root cause could be a physical layer issue on the 4th PRI.
Another variation is a faulty DSP, where calls only flake out when landing on DS-0s mapped to a faulty DSP.
One way to confirm this theory is to isolate DS-1s and DS-0s and test. Start with testing physical cabling and then a call-by-call on DS-0s. Another (more efficient) approach is to capture a faulty call in process and then use some IOS show commands to identify trunk/timeslot.
I did a write up on a method to test individual DS-1 and DS-0s here:
http://www.netcraftsmen.net/resources/blogs/test-voice-gateways-part-1-seizing-a-t1e1-voice-circuit.html
HTH.
Regards,
Bill