Is there a reason why I shouldn't be able to upload more than 95 items on to an image field?
Solution is to increase upload_max_filesize and post_max_size in your php.ini. Because POST data can be truncated if it exceed specified limits.
This can happen when you upload lot of images and send them all in one big POST.  

Other way to fix this - is automatically upload image via AJAX request just after user select it - try JavaScript code from How can I automatically upload images on file selection rather than pressing the upload button?

Also try to increase max_execution_time in PHP settings. PHP may be lack of time to upload and save all 95 images during default 30 seconds.