After you have freed a gadget, whether you set the variable's value that was holding the handle to zero or not has no impact on anything. However it is useful to set it back to zero after successfully freeing an entity/gadget/object simply so that you have a way of identifying if the entity/gadget/object still exists.
I think you are thinking correctly regarding this.
I think you are thinking correctly regarding this.