3ds max has the following class that is used for handling the delete key.
Class EventRouter
This is a generic event notification system. The only two places this is
currently used are for when the Delete key is pressed or the Delete menu
item is selected, and when the Backspace key is pressed.
To use it:
1. Create an EventUser object.
2. Register the EventUser object with the appropriate router.
3. The EventRouter will call the EventUser's Notify() method when
the event occurs.
4. When you're done with the EventUser object, call the EventRouter's
UnRegister() method. This will delete the EventUser from the router's
notification system.
5. If your code is part of a window proc, call the router's Register and
UnRegister methods when the window receives WM_ACTIVATE messages. This will
properly uncouple the notification system when the window is deactivated.
De-gibberished - plugin code needs to register and unregister to handle the delete key. It sounds like something is registering, but not unregistering. The problem then becomes - what plugin is doing that. Is it one of the plugins shipping with 3ds max, or is it a 3rd party plugin?
First and main question is can you reproduce this using shipping 3ds max without any 3rd party plugins? Just the presence of a problematic 3rd party plugin, not its actual usage, can be sufficient to cause an issue. When the plugin is loaded at 3ds max startup it can register for certain notifications such as file load, file reset, etc. and problem can be caused by the handling of those notifications.
The register/unregister code is typically called as an object's ui is displayed/undisplayed. It is also possible that when the object's ui is displayed the plugin code registers for notifications, but when undisplayed the code doesn't unregister all notifications, and then later when the notification is sent the plugin code is improperly registering code to handle the delete key.
A way of testing to see if this is actually the issue is once it is happening on your system, select a node, go to Tools / Array, and press the delete key. The Array dialog registers code to handle the delete key, and pressing the delete key should cause the selected node to be deleted.
Unfortunately there is no diagnostics present in 3ds max to help determine when the register / unregister occur. Are you part of beta? It would be possible to add some diagnostics code to a beta build that may help narrow down the cause.
Larry

Larry Minton
Principal Engineer, M&E-Design Animation