1) Currently the code compiles and the binary executes flawlessly when compiled with ppc < 2.0 compiler.
With what compiler exactly does it work? With 1.0.x or with 1.9.x ? 1.9.x are betas for 2.0, but were in wide use and packaged with Lazarus.
If it is 1.0.x, you are out of luck. Most of the compiler was rewritten from 1.0.x to 2.0.x over longer than 5 years and probably thousands of commits, and the history is to complex to glean something from it. I assume even a compiler developer would frown at that task.
You can't even do a binary search, since specially during the 1999-2002 period the development branch that would become 2.0 was often too unstable.
2) As soon as I compile the code with any compiler >2.0 , the binary throw3s run-time errors.
I suggest you start debugging your application. That will be easier than starting to delve into ancient compiler internals.
Is there any available list of changes made from version ppc386 <2.0 to Version 2. or even up to Version 3.2.2
As said that is a near complete rewrite. The complete history (CVS,SVN,GIT eras) was imported into GIT, including various FIXES_* branches.
I guess the changes from <2.0 to 2.0 would be sufficient as the problem starts happening right there with the 2.0 compiler.