I think we can distill the core of our argument -- both of our walls of text -- to this single snippet:
Okay, you can keep thinking that nodes don't exist and that hashpower rules all. The miner very much cares what other nodes think, since nodes determine whether to reject his block or not. You seem to believe that the "longest chain" is all the matters... but nodes enforce the longest, valid chain. Doesn't matter how many blocks a miner extends on top of an invalid block. It seems you're incapable of imagining any situation beyond everyday orphaned blocks. But we're talking about potential attack vectors and contentious hard forks here.
For some reason,it seems that you think that a miner who has solved a block is unable to get his solved block to whichever miner will ultimately solve the next block, without intervening independent nodes. I say that he can -- if only by the fact that this miner also operates a node. If the solved block gets to other miners, and one of those miners builds the next block on top of it, there is absolutely nothing that independent nodes can do about it. Period.
nodes determine whether to reject his block or not.
No - not in a system-wide sense. If the block makes it to other miners, and those miners consider the block valid, they will build a new block atop it. The only power an independent node has is to choose not to participate in forwarding the block to other nodes or other miners. No independent node can have any effect upon any path in the connectivity graph, of which it is not a part.
but nodes enforce the longest, valid chain.
No. Miners enforce the longest valid chain. If a chain makes it to a miner, and that miner considers it the longest valid chain, that miner will attempt to build the next block on top of it. The only power an independent node has is to choose not to participate in forwarding the chain to other nodes or other miners.