Interesting, I would have thought it would be the other way around. I've read that there are some problems with makeUrl() in 2.2.7, so that might be part of it.
For new resources, if this code isn't there already, it might help to add it above the makeUrl() call, but after the save:
Part of the problem is that makeUrl() is ultimately a method of the Context object and I'm not sure there's a way to know which context it is at the point where the user is forwarded.
One trick that sometimes helps is to set a $_SESSION variable with the Resource ID and forward the user to an intermediate page with a known URL. On that page, a snippet checks the $_SESSION variable and forwards the user to the target page.
BTW, make sure the user is logged in to all Contexts they might be sent to (using something like &contexts=`web,de,context3`) in the Login snippet tag).
[ed. note: BobRay last edited this post 5 years, 4 months ago.]