to be honest, I haven't tried setting the name dynamically in the cart object, but if it is working on the cart display page, my guess is that the variable is not set at the time the cart object is being loaded, but gets set farther down the page.
I would use the method of setting the name on the cart display rather than setting it in the cart object it, for 2 reasons:
1) you can get this to work
2) You can still edit the eCart object.