Have you personalization enabled in your web.config file? You should have something like this in it.
<webParts>
<personalization defaultProvider="SqlPersonalizationProvider">
<providers>
<add name="SqlPersonalizationProvider" type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"
connectionStringName="PortalDB" applicationName="Portal"/>
</providers>
</personalization>
</webParts>
Also it needs to have the personalization DB set-up when you use the default SqlPersonalizationProvider. I had the same problem once before and the DB set-up was the cause of it.
"Dream as if you'll live forever, live as if you'll die today" (James Dean)