As mentioned in the coreutils gotchas, rm cannot always delete directory hierarchies.
I'm sure the folks on this list could write $ find -type d -exec chmod +wx {} + in their sleep but it's not the most obvious way out of unwritable directories. Feels like a long shot, but could we add a new option to rm to add wx bits to each directory encountered during a --recursive walk? Perhaps -ff for "double force"? :) I looked for prior art in the *BSDs, but found nothing. Cheers, Phil