In my decades of experience investigating such issues, the most common reason is that the program has a coding error that is revealed by a different optimization or code sequence in the newer version. It is not a "compatibility" problem. Since you give us no clue as to what "doesn't work" means, it's impossible to speculate further.
The first thing I would do is rebuild the application with all compile-time and run-time diagnostics enabled and see if new information is presented. You could also try building a debug configuration with optimization disabled and see if that makes a difference. You'll need to do some analysis legwork.