So basically Apple is pulling a Microsoft by adding a platform-specific extension to an otherwise cross-platform, portable language?
For C, yes. For Objective-C, Apple already owns it so no problem. It seems like conforming ANSI C code should still work so it isn't a weird IE6 cross-incompatibility issue.
Sure, but now there's a variant of C that will only work on Apple platforms...
I think if you're writing C code, you're either writing systems code yourself, or you're writing application code for a particular operating system, or you're writing something that's explicitly cross-platform by design (like a programming language runtime). I think anyone facing these three situations would be able to judge whether or not to use Apple-C closures.
You'll just have to trust me when I tell you that this syntax actually makes sense to seasoned C programmers.