I just got my 301 redirect to work today. Googlebot is clearly counting the short (non-www) version of my URL and the long (www) version as two distinct domains. Why won't they fix this?!?

I actually ended up having to switch web hosts to get this to work.

My site has been under a penalty (duplicate content?) for several months now. I DID have some internal pages that were very similar but excluded Googlebot from crawling those by creating a robots.txt file a few weeks ago. If my domain is under a penalty because of Google's treating the non-www and www version of my site as two sites, how long before this dup. penalty would go away. As Google more or less updates its index constantly, wouldn't this go away as soon as Googlebot crawls my site and re-indexes it?

My domain is a PR 5 and has one PR8 and several Pr 7 sites linking to it so its gets crawled a ton by Googlebot. Or will this take 2-3 months for this to clear up?

PS: I have fixed EVERYTHING else that could possibly be holding my site down. It is ranking about 20 to 30 positions lower than were it really should rank. Also, my site is 11 months old exactly tomorrow, so is this maybe an age thing; were for highly commercial keyword phrases my domain just needs to age some more?