The sender of heartbeats requests doesn't mark the nodes that return InvalidReplicaSetConfig errors as down or up, the state of that node remains the previous state - Unknown or Down. We should mark the node as down while keeping sending heartbeats to it.
Currently a removed node responds InvalidReplicaSetConfig to heartbeat requests. However that cannot be distinguished from real invalid replica set configs, so that disallow_adding_initialized_node2.js has to keep sending heartbeats even if the config is invalid. We could also give it a new error code if we think NodeNotFound is not descriptive.