A general principle of Allen-Bradley MicroLogix and SLC-500 controllers is that they are very vigilant about their I/O configuration.
They will always check to be sure that exactly the same I/O modules defined in the program are actually connected to the controller. Just one module being different (like a DC output instead of an AC output, or an 8-point module instead of a 16-point module) will cause an I/O related fault.
That's why "switching the processor to a very similar machine" suggests that the I/O configuration on the other machine is slightly different.
A solid red RUN indicator on the controller is a "non-recoverable major fault", which you already know. That means it can't be cleared by software or by switching modes (run -> prog -> run).
The best way to solve this problem is to carefully examine the error code and the RSLogix 500 program, paying special attention to the I/O configuration.