When you say you define the variable in the workspace, which workspace are you talking about? Do you mean it is defined in the base workspace (the command line)? If so, then that variable is not visible inside the callback, which has its own workspace. You could use EVALIN('base',...) but this may not make your problem go away, depending on what you are trying to accomplish.
Why are you using EVAL in a callback anyway?