Do you mean the Game Freak programmers or the fanmade engine programmers?
Because even within Game Freak, they can't simply reuse the engine. Lots of things have to be thrown out and then remade.
The features they add... such as the Musical? 3D battles? Triple and rotation battles? 3D camera animations? The weird, twisty, non-rectangular paths that are present in this game? It's a huge feat of engineering. Don't look down on the programmers too much.
Trying to do strict OOP (which I take it is the paradigm of C#) when you're testing things out is too exhausting. I've worked in Java before and I still use public data primitives (even if it goes completely against the Java paradigm) when I don't want to be bothered wrapping everything with setters and getters and it will never be useful to do so anyway.
We could have also used Java for cross-platform (it's about as easy as C#, from what I know), but let's not get into the fact that Java is about twice as slow, also depends on a virtual machine, and can't do as much graphics stuff. I do actually have a deprecated/discontinued Java engine on Github, if you want to see it.