Overall, I think that Bart's solution is a great one. It certainly would do the trick for my needs, and I expect that it would do the same for issues raised by other people.
Is there any chance of getting this into 4.6? The number of hours that I've spent on this problem on one site leads me to believe that it'll be a major mistake not to include this patch (or one like it) ASAP.