Actually, i think Derek's forgetting something: Cg is open source. If ATI wants to optimize it for their cards, nV won't stop them. If someone wants to make Cg work with Matrox card and got a lot of time on his hands, nV won't stop him.
IMO, even if what Derek says is kinda true, when whatever thing being worked on with Cg will be released, Cg will have matured and will be much more stable.
And it really surprises me he says Cg crashes ATI hardware - i never heard of that.
And the "no need to write something that complicated" is IMHO truly incorrect. Yes, there's no need to. But the point of this whole architecute is to GROUP MULTIPLE VS INTO ONE using branching & loops!
And that enables better batching, thus resulting in higher performance.
In Other Words, if you consider you could group many VS into one, the NV30 doesn't have that much power. It might even need more.