After weeks of seemingly endless messages backwards and forwards between myself and our host, the conclusion now is that the photo uploads problem is caused when the php script attempts to create a thumbnail image....
To do this the image must be fully uncompressed and stored in memory, and large images quickly exhaust the 20Mb limit that is set on our hosts server - Each pixel takes up 32 bits of memory, so a 1600 x 1200 or larger image WILL use more than the 20Mb available and cause an out of memory error.
So I've been forced to restrict image uploads to a maximum of 1280 x 720 - Any image that is larger than this will be rejected and you'll get an error message telling you why. Much better than just locking up the system and getting the previous fatal error....
So from now on, please keep images down to a maximum of 1280 x 720 - It shouldn't normally be necessary to upload anything larger than that anyway, as the images just gobble up space and don't display any better on a normal computer monitor.