I have access to the PCB build files, but not the original files for compiling the micro's program, so all I could do is copy the program directly.
Why do you not have access to the originals? Is this a RE exercise?
It's difficult to suggest an approach without knowing the scale of your problem and the margins? If it is large then it's a redesign, if it is medium then a port to another similar but available device and if it is small then a hunt for old/compatible parts.
I am suspicious if the only thing is the thing itself... suggests lack of knowledge of function and hence limits the ability to test/verify the next version.
When the original PCB was ordered, and the company that had the manufacturing contract used a third party to write the software, which is OOB. Apparently, they either didn't get the source files or have lost them. This equipment is 25 years old... Anyway, all I have is the schematic for the PCB itself.
Despite the age, industrial equipment can be kept in service quite a while, and while my customer *needs* about 20 boards, he would like a lifetime supply for himself (for the 100 or boards), and since this equipment is still out there, running up 1-2k and then selling them over probably 5 years could make money on my end.
Perhaps writing all new software would be appropriate, and it probably is, but I'm not sure the juice is worth the squeeze, especially if we can avoid it. The fun part would be figuring out all the communication protocols for all the various conditions. This micro is apparently monitoring various parameters for fault conditions, along with some type of diagnostic tool communications. Yeah, there is external memory involved.
So it is at least partly a RE job, yes.
The simplest approach would just be clone the program onto another micro. The program works fine, the hardware is just aging and failing.