I like keeping the settings in httpd.conf as I have live and dev versions of the site on the same server. I make the default settings display errors off and then change them on a per-site basis for the dev site.
Anyway, did a bit of digging around. Copied the scripts with the error onto another server and hey presto! I get an error message. Went back to my original script and it turns out I was setting error_reporting to a different level in an include - my script level debugging didn't show this up as I put the debugging code before all the includes, doh!
Ta for responding, it helped me clarify it in my mind and work through the problem.