sorry, I hadn't thought of that problem.
I have one idea which might work. You could build your 3rd mdx in such a way that it always returns at least one record (for example by including the all member of some dimension in your WHERE-clause).
Of course your final SELECT should not return this record. But this could be achieved by defining the correct ON-clause in the join.
I hope this helps.