I tried this yesterday and worked fine for me, so there should be something else around.
Can you check what the templated role looks like?
On my system this is the code:
<role>
<rolename>kkkk</rolename>
<description>kkkk</description>
<billingfrequency />
<servicefee>-3.40282347E+38</servicefee>
<trialfrequency />
<trialperiod>-1</trialperiod>
<billingperiod>-1</billingperiod>
<trialfee>-3.40282347E+38</trialfee>
<ispublic>false</ispublic>
<autoassignment>false</autoassignment>
</role>
And it works just fine when using to create new portals.