I think this is way too much grass, to handle without Vertex shader support.
Ever thought of putting the creation and animation completely into a vertex program? Maybe you have done so already, but who knows. As I see it you have some 2k+ entities. How does it behave if you bundle up the grass?
Otherwise I believe I will have fun to look into it. Keep it up!
Greets
Sven