You're modifying default value here. This means that if user don't have the visible flag, the view would be invisible. I think it should be something like this:
visible = d.getProperty(TiC.PROPERTY_VISIBLE);
if (visible != null) 
       setVisibility(TiConvert.toBoolean(visible, true) ? View.VISIBLE : View.INVISIBLE);
else 
       setVisibility(View.INVISIBLE)