Right, but changing the Win32 API is bound to break compatability; and thats an important goal of ReactOS. But thats okay, the architecture of NT allows for more than one subsystem. You could write a Native API program if you really wanted to (most of the Win32 facilities are there for you in "raw" form) or you could write your own OS API via a subsystem.
excuse me to correct: It's not an API or ABI change but a semantic change. Semantics of file naming. However it can be made either compatible or not.
Correct me: Does the win32 API has got a function to test file name semantics? UNC-names are widely understood. And since common dialogs, i think noone does real name checking.
I think your embedded -adapted api is a good idea. AFAIK M$ is working on s.t. like this removing a lot of deprecated calls, like apple did with carbon. But will MS break compatibility?