Personally I think we should leave the Win32 API in ReactOS as is for backwards compatability but we should encourage (eventually) the writing of another subsystem for a nice, object-oriented API. The two can co-exist quite easily.
I actually had a few ideas for this, related to the file system thread a while ago. One idea was to have object descriptors (classes) as a DLL of some form, and then have subclasses as actual files or objects.
So an MP3 file would be an object of type mp3file, which would be a subclass of audiofile, subclass of file, etc.
Bit difficult to explain especially as the design is still incomplete.
But in any case, I feel an object-oriented API would be nicer. This is however difficult as callbacks for C++ objects are a pain (you can't seem to pass a pointer to a member function to anything) without doing some sort of bodged workaround (usually involving lots of little macros...) You could, of course, have standard OnPaint() OnKeyDown() etc routines, or even have an event object which gets passed around. But this still has difficulties.