I have a 301 redirect from example.com to www.example.com for 6 months and I have noticed for at least 3 months that my indexed URL dropped down to 1 :-(
thought it was because I didn't have enough inbound links to be indexed so started a linking campaign. Until today I saw an error message in WMT sitemap section that I had too many 301 redirects in the sitemap.
Then it hits me that when I generated the sitemap in my hosting service provider's tool, it referenced the old non-www domain. So got into the xml file, there it is, the old domain name.
After modified to the new domain name in my sitemap, resubmitted, within an hour, google bot paid a visit and most of pages are now indexed.
Don't know why it took me 3 months to realize it. I guess it's just one of the learning curves of SEO.
Would like to share my experience. Hope you can find it helpful.