I've been trying to figure out the source of this VCR issue.
The URI VCR gets from WebMock's after_request callback cannot be used later to stub the same request (i.e. on a later test run).
I've come up with a gist that demonstrates the issue. The %2B from the original request gets decoded as + in the URI on the request in the after_request callback, and then when I use this exact URI to stub the request later it fails.
This is due to addressable being inconsistent in normalizing % expressions. It's different for %20 and different for %2B.
I created an issue in addressable: sporkmonger/addressable#50
It looks like my recent changes fixed this issue too. @myronmarston can you please confirm and close?