OK! I figured this out. I turned on error display in PHP.INI and that gave me the clue I needed. Turns out that I was out of disk space! That would also explain the weirdness with adding a new image and having things fail as well as why a complete uninstall would work after deleting all the files. So now I just have to figure out how to create more space (Linux noob so I need to read up a bit on figuring out the unpartitioned space stuff.)
So posting here so if someone else runs into something like this they might get some quick relief. I don’t know enough about PHP to know if you can monitor for low level critical errors and return them to the user but that would have helped in this case.