Try doing it with two cameras in the same position set to render to the same part of the game window. One has a blur filter and only renders objects on one set of layers, one has no filter and only renders objects on the other layers.
If the objects on the respective layers interclip eachother... then the process goes into the realm of the hypothetical, but you may be able to use some shader wizardry to render-to-texture a mask that contains info on whether a given screen pixel contains an object tagged for one layer or another.
Based on your description, you seem to be doing something similar... I'd double-check that the foreground camera is set to not render your background objects and vice-versa. If all else fails, you may need to do something hack-ish like render each camera independently to a texture in real time and layer those textures as GUI elements :P