In order for a UILabel to be displayed, you must be trying to perform NGUITools.AddWidget on a game object that's on a layer that's visible by a UI camera.
This means if you simply create a game object in the middle of nowhere and add that script to it, your widget will be massive in scale (as it won't belong to the UIRoot), and it may or may not be visible, depending on what sees that game object.