I've noticed that when using halos with a TextSymbol that the filter definition in the svg node can become out of sync in terms of width and height when resizing the map. This results in labels not being visible.
To reproduce first resize your browser (I'm using Chrome) to a small width and height and then open the following jsbin.
Then, draw a graphic and you'll see the label with halo. All is good
Next, maximize your browser and draw another polygon (preferably in an area that wasn't visible before). The graphic draws but the label does not.
If you inspect the elements you'll notice that the width and height of the filter no longer matches that of the svg.
For now, my workaround is to listen for the resize event on the map and manually set the width/height of that filter node.
In the future would it be possible to have the API handle this for us?