James,
Well actually you can easily access all Obj-C features trough the following pure C API: http://developer.apple.com/documentation/Cocoa/Reference/ObjCRuntimeRef/Refe...
Is this still true? I would like to convert what work we do have into c level code so that it will pass AJs 'c' scan and to avoid using ObjC code.
Those functions allow pure C code call and work on Objective-C (shortened to Obj-C later) object pointers. While it gives you possibility to write an Obj-C Cocoa based pure-C extension for Wine, IMHO this would be a nightmare. Because of few reasons: (1) You'd need to write lot more code than writing Obj-C, (2) This code would be suboptimal (Obj-C isn't translated to C, it is separate compiler), (3) You can expect lot of problems with memory allocation and freeing that is done more less automatically with Obj-C memory pools, etc.
In addition, if an exported Carbon/Cocoa library exists, this would help move the project along.
As I previously mentioned Carbon is pure-C UI/graphics library for Mac OS X that is legacy and partial compatible with older versions such as Mac OS 8 & 9. Since it is legacy, all new features doesn't go into Carbon so Carbon doesn't expose all OSX functionality, also there's no 64-bit Carbon. So, Yes you can write Wine OSX support using pure-C Carbon library, but beware that it is LEGACY and Apple doesn't recommend you to use it. Moreover it can be discontinued at some 10.x release, so all your work will be wasted.
Cocoa is the proper Obj-C API for OSX UI & graphics. OSX is NextStep based objective oriented GUI & OS. And Obj-C is a basement of both NextStep and OSX. So if you want to write OSX GUI application properly you have to use Obj-C, same as C++ & KDE and so on.
So forcing constraint that all Wine source files have to be C is simply unreasonable in this case. You can easily achieve that only OSX dependent source files will be Obj-C, while having OS independent code to be pure-C - as C is a subset of Obj-C, and Obj-C is backwards compatible with C. So from the other OSes point of view Wine will be still pure-C program.
Cheers,