Hey Shaun, welcome to the forum.
When a new project gets developed, one of the very first things you must do is select exactly which CPU you are using. When you attempt to download your new project it compares what you selected to the actual hardware. If those do not match, then the program must change the "offline" CPU to match the actual hardware. This is the prompt you are getting and it is normal.
I suspect that the reason your system is faulting is not because of the CPU, but because of other models in the system.
One of the other tasks we perform when creating a new application is to specify the "I/O Configuration". In other words, define what modules are going to be in what chassis slots.
Here is where the gotcha comes in. If the wrong CPU has been specified, the system prompts you with the correct CPU. It does not do the same for the I/O modules. Instead, when you attempt to put the CPU in Run mode, it then compares the I/O Configuration to your actual I/O modules. If they are not exactly the same, the system faults.
After your CPU faults if you are able to go to the Processor Status window and view the Error tab, it should give you a fault code. That fault code can help you/us determine why it faulted. There is also a short error description. Can you find out what that error is and post it back here for us? Specifically, the error/fault code.
OG