To the very best of my knowledge, the VCL is expected to be compiled with default compiler settings. Any variations to that are specified explicitly in the source code.
Of course there are debug and release versions. The former does not have optimizations enabled, the latter does.
There are some special requirements for the very low level RTL units but judging from what you say in the question, you are on top of that.
You are concerned that you will encounter the unit compiled against different version of XXX errors. But that will not occur since, as I understand it, you will be compiling the entire RTL and VCL.
Even if you re-compile piecemeal just the units that you modify, you will have no problems so long as you use default compiler options. Of course, you would have to refrain from making changes to the interface section of any unit in that case.
And even if you compile piecemeal you have to understand that there are some compiler options that have no influence on whether or not the .dcu files are compatible with others. A good example is optimisation.
I do wonder whether or not you are doing this needlessly. It sounds like you have a working solution. And nothing has changed recently. Delphi 7 updates dried up a decade ago. Why do you feel compelled to change now?