Otto,
1) I think one can take out complexity from a program.
It would seem you are just moving some of the complexity to another program. So as a whole it is still just as complex. And you likely will have to have copies of the same code (or different code that does the same thing) in both EXEs.
2) You can start in a legacy app a new programming concept.
This has some merit, but what is the new concept? You are already using OOP and I can't think of any better concept to reduce complexity and encapsulate program logic.
3) And updates are not so risky because not the whole application is addressed.
OOP and encapsulation is one of the best ways to reduce risk.
4) I think you can also uniform the look of your program.
I think you could do that either way--in the current app or in a split app.
5) Better for sharing work in a company.
How so?
6) Easier to find Errors.
OOP is great for that.
I get the feeling that you are not fully utilizing the capabilities of OOP. Are you using buisness objects or just database objects?
James