Anonymous web part personalization is not enabled by default.
Do you really want to let anonymous user edit the page?
You can add the <authorization> section to the <webParts> section to grant anonymous use the right to edit web parts.
<webParts>
<personalization>
<authorization>
<allow verbs="<modifyState|enterSharedScope>" users="*"/>
</authorization>
</personalization>
</webParts>
/Fredrik Norm?n NSQUARED2
Microsoft MVP, MCSD, MCAD, MCT
CornerstoneMy Blog, ASP.Net 2.0 etc