Mhn, the easiest solution would be to take care about where you place the grass on the blueprint, so you have to avoid these places with high angle environmental decrease. But this doesnt solve your problem, I admit.
Another workaround could be the following: you said, you do your grass-placing by using adapted blocks from within WED. So, when working on cliffs, etc., you could place the grass sprites manually on the right z-position, save this unique mdl and place it as standard mdl in WED.
From a programmers point of view I would recommend to check connections from one vertex to another to identify closed groups as objects (grass bunches). So we would have not only single vertices but a row of vertices which are connected -> here it is our grass spike. So we could easily determine the upper and lower border and place the whole thing on the z axis so that there is no stretch/crouch behavior. Unfortunately we are not able to do that now. This could be a feature for one of the next updates.. but you know.. personally I would be glad if the update would release soon. Anyway.. I hope you've got some ideas.
ciao
Christian