I wouldn't rely on that. what if you call "delete myNode" to delete an unselected node, the selection list does not seem to be changing.
I needed to do exactly that, to delete a couple of nodes when a specific node got deleted. The use of MNodeMessage::addNodeAboutToDeleteCallback(...) allowed me to handle undo/redo like it should be handled, and also I spent quite some time searching for a mel solution without finding a proper one (but I'm new to mel so chances are big that I missed something).
Creating a command that set's up a callback for that that condition, checks to see to which set the node belongs to and enqueues all the those nodes for deletion doesn't seem to be a big issue if you've got the tools at hand.