To answer your question about rc 4 vs rc 0 (sorry, I now realize that I didi not really answer it in my previous post): there is no difference in this case. If you call a macro from the edit command line, the cursor will remain where the macro sets it if the macro ends with rc 0,4 or 8. Only in case of rc 1 and rc >11 (according to my test) will the cursor be placed on the edit command line. rc 12 and bigger will return a macro error.
But this has nothing to do with your original question. Did you try the proposed solutions?
Ok.. Yes I did. It gave the same result. This is really confusing how a trace command is resulting in the execution of the macro.