@Szabolcs : @b3m2a1 already knows I don't know so our hope is to get help from someone who does not necessarily knows a lot about FE but rather about communication protocol.
@halirutan Sure, but wouldn't you say that the behavior is rather unexpected? Why do Plot[] and Limit[] show different localization behavior (at least upon first evaluation)?
@gwr Well, that is one thing most people don't think about. They take the coloring of the suspected local variable for granted. However, the coloring has nothing to do with the evaluation. This gave me a lot of headache in the IntelliJ Plugin, because symbols that appear to be local are indeed not local.
x = 1;
Integrate[x, x]
Limit[1/x, x -> 1]
Nevertheless, I would also think that the \[FormalX] symbols should work in your case.
@halirutan Seems one has to watch for the HoldAll attribute (pass by reference or value?). The error message will only appear at first evaluation (fresh notebook) which strikes me as odd. Thanks.