I hope, my explanation is good enough.
I've been looking into this matter. It seems that Hibernates looks for the previous schema.
Let say you use System for the first run. Hibernate will create the schema in the System schema.
on the second run you use A schema instead , hibernate will create schema in A Schema.
on the third run, you use B schema, hibernate will create schema just like A.
unfortunately, Schema in A and B is not as complete as in System schema.
Schema A and B is lacking the custom portlet. Therefore when JBoss portal come to look for these portlet. it will look at the previous schema for the respective tables. therefore it found these tables at the System schema.
Still I haven't come up with a solution for this.