The description of RemoveEventHandler states: "Two optional arguments can be supplied as key::value pairs to filter events according to the target and/or object. If both filters are omitted, all event handlers matching the script and event will be removed."
However, this doesn't seems to be the case for OnKeyEvents, you need to provide exact filters used to set the event, otherwise it doesn't get removed.
The description of RemoveEventHandler states: "Two optional arguments can be supplied as key::value pairs to filter events according to the target and/or object. If both filters are omitted, all event handlers matching the script and event will be removed."
However, this doesn't seems to be the case for OnKeyEvents, you need to provide exact filters used to set the event, otherwise it doesn't get removed.