I haven't been able to access the server logs yet (the site admin is busy), but I have done some more experimenting. One interesting thing I've found is that if I run 2 concurrent browser sessions the first session behaves as normal (ie, some images fail to display), but the second session fails to display the page at all, giving error 508 instead. Pretty sure this is because the first session uses up all 22 entry processes trying to retrieve the images for itself which leaves no processes free for the second session and so it just fails at the start.
A few potential solutions that I've been looking at over the last few days:
1. Move to a hosting plan that doesn't limit entry processes. Pretty sure the group has no interest in this unfortunately.
2. Store the images as plain files rather than as objects in the File Gallery. If I do this then PluginImg doesn't need to run any PHP scripts to retrieve them and so shouldn't consume any entry processes. This also means that I'd probably have to store a couple of different resolutions for each image to avoid downloading the full resolution image each time. A pretty ugly solution.
3. Somehow "lazy load" the images so that we're not trying to retrieve every image on the page via PHP at the same time. I have tried a few experiments with this but haven't met with much success. The only thing I did get to work required using embedded HTML rather than PluginImg, together with a small Java script to do the lazy loading but that was also starting to look really ugly and hard.
So, unless I find something unexpected in the server logs I'm at the point now where I think the best solution will be to just split the pages so that each contains less than the problematic number of images.
BTW, apologies for not posting my earlier site links message into the right part of the thread - a newbie mistake. Is there a way for me to move it?