You use the .usescript member to override an existing script or to set a script on an item which normally doesn't have one.
If you search an example you can take a look at the tinker traps or the secure containers which are normally in every script base.
If you place a trap on a container you set the usescript of the container to the script which handles what has to be done if someone double clicks that container. If the trap explodes or someone removes the trap you set the container.usescript := ""; and the container is handled normally again.
So that is not a bug, it's a feature
