Your code looks fine. You could make a few optimisations, but it should exactly what you want it to do. I really don’t know why google hasn’t propagated this by now. Maybe you could ask the guys over at our SEO forums?
I do see now btw that you don’t have [NC] at the end of the second and third RewriteCond. Did google cache in a different case than all lowercase? If so, that’s the problem. If not (i.e. google did store it all lowercase) I’m still out of ideas.
In case you’re wondering about those optimisations:
In my experience, Google updates index results in about 1 week, but this time it seems not to be working. I didn’t have such a problem in my WordPress sites. This site is a custom coded one and I don’t know what is wrong.
hm, that should be enough time for google to pick up on it. Have you confirmed the code works? I.e. when you request the domain that should not work, does the URL in your browser change to the URL you want it to be?
Also, can you post the exact code in your .htaccess please? Don’t spare us, just post all of it