The idea behind CG is to allow easy coding for shaders, Rendermonkey does the exact same THING with plugins on existing rendering software...there is no need for CG at all.
When I see a good Renderman SL->DX9 PS converter for any but the most trivial SL shaders (that does as good a job at combining light, transformation, atmosphere, & surface shaders as I can do manually), I'll be impressed. It's not an easy task, and it probably won't be done particularly well for quite some time. Renderman SL was designed for very different hardware than modern GPUs, and there have been plenty of reasons given why it doesn't map particularly well to real-time hardware applications.
Then there's the whole issue of Cg allowing real-time previewing in Maya and MAX, integrating with the workflow better than RenderMonkey will (or, for that matter, Maya SL/Renderman SL).
I like Russ' GCC analogy for the RenderMonkey compiler.
CG may export code but it will export optimized code for Nvidia hardware since Nvidia has taken matters into their own hands and went above DX 9 standards.
You've defended PS1.4 in the past. I fail to see how ATI "ignoring" DX8 specs and going above standards is any different... at all.
Here's how the actual DX specs are developed:
Hardware vendors research advanced techniques and architectures
Hardware vendors decide what to pursue for next-gen hardware
Hardware vendors meet with Microsoft to debate the new DX spec
Microsoft chooses "best" lowest common denominator for DX
Hardware vendors may or may not add features to their hardware to meet this spec
In this case, the "best" lowest common denominator was decided to be R300. NVIDIA is not going to throw away the millions of man-hours of work invested into NV30 design in order to only follow what Microsoft is allowing. Instead, they open up advanced features in OpenGL.
That's the way it has always worked, and that's the way it's going to continue to work. In this case, a full HLSL and toolset (allowing real-time and rendered views of the HLSL shaders in popular modeling packages) are provided, since a good alternative didn't exist. Writing 1000-line shaders in assembly is an exercise in pain.
Now, here's the better question -- what would you be saying if Microsoft decided that NV30 was a better baseline for DX9? ATI obviously wouldn't have had time to revamp their pipeline to support everything in NV30 and still release this year (or possibly even next year).