Technically this is dangerous. Yes I have done it a lot and I got burned with obscure bugs for doing it...
What happens is GCC reuses the stack space where that Dict_CONST() is allocated later because it's inside of an if statement. Putting the rpcCall() also inside of the if statement solves the problem but using Dict_new() and Dict_putString() is the best solution since it doesn't do this silly stack allocation which I should never have allowed.