In a nutshell, why does this work (change y and see how the value updates)
ClearAll[y];
Dynamic[x,
Initialization :> (x = Symbol["y"])]
and then on a separate cell
y = 98;
but this doesn't? (assign the printed variable whatever value and see how it doesn't update)
Dynamic[x,
Initialization :> (x = Unique[])]
You can also write Dynamic[the printed var] in a separate cell and see how it doesn't update either.
For now, I'll be using something that works and I would have never thought I would be using
Dynamic[x,
Initialization :> (x = (Remove[#]; Symbol[#]) &@ToString@Unique[])]
My current weird conclusion: "If a variable was declared by Unique[] inside a Dynamic update, then it will never be tracked by any Dynamic "

Unique["xx"]make any difference? – Mr.Wizard♦ Aug 11 '12 at 14:35Unique["Global`blah"]– Rojo Aug 11 '12 at 14:38y=98is already executed before theDynamicis fully finished. – Sjoerd C. de Vries Aug 12 '12 at 7:06