The exit value is always 0 regardless of what's printed on stderr. If code parses stderr to determine error state instead of looking at the exit code, then it's doing unix wrong.
I'm not sure how well that'd work due to the lack of buffering. But I wouldn't want to go anywhere near stderr in production code.