The missing { } is intentional. As you can see, I'm haltdef'ing when the item is not present in the table. It is only present when they are active. Your change makes it so the item is never reset.
In any case, deleting an item that doesn't exist is not a bug, since it's effectively a noop. The point is to reset any state when they leave.
You're right. It's been a while since I scripted properly, I could have sworn that /hdel used to throw an error if the item didn't exist.. but it looks like it only throws an error when the table doesn't exist.