I have the same problem, I am looking for the solution!
do you have the overwrite enabled? In other words: will the value in the descriptor overwrite what's in the db? You need to enable the overwrite so that with each deployment / startup the value in the descriptor will be set as the current value....
mholzner, thanks for the tip here and actually also in other Management Portlet subjects. I think I get a better picture now. And my problem solved too.
What I found is that the Mangement Portlet keeps/maintains a 'secret' db of the objects. Probably (not sure) everytime jb portal startup, the db is also built up (by something) from the *-object.xml files or updated according to the <if-exists>overwrite</if-exists> or <if-exists>keep</if-exists> definitions. So <if-exists>keep</if-exists> means the changes will persist between restart of jboss / jboss portal.
My mis-concept had been that the <if-exist> was for re-deployment of a portal applications or hot re-deployment. So I could not related it to the db. As a result I did not understand then why the object definitions could survive through jbp restart.
Now I want to see what tables the Mangement Portlet updates. But I cannot find the source of the portlet, org.apache.myfaces.portlet.MyFacesGenericPortlet . Probably in apache project, not in jboss source. I wonder if I can clear those tables to clear all the existing db changes and let it rebuild with the *.xml defaults.