On both of these platforms, ABIs and APIs are stable until you get to drawing. Which means you should probably use real process separation for the GUI - it has to be linked dynamically.
It is stable in the terms of "actually didn't change in a way to break apps" not "guaranteed to be kept compatible".
Last time they did a major break there is in Windows 2000. I recommend reading up on how LPC works.
There have been extensions though. Such as very useful pico processes in Windows 10...
Major extensions in Vista too, related to security and async operation.
I recommend j00ru's blog as a good starting point. And of course Windows Internals books.