But if it doesn't receive a valid block based on its last good ones, but continues to receive blocks based on the apparently bad block, is that the start of a hard fork? Can the node do anything at that stage, or must it update to be able to accept the new blocks?
In order to never receive a valid block based on its last good one, there would need to be 0 miners still using the old software, and 100% of all miners using software that think that this new block structure is "valid".
In that case, yes, a hard fork would have happened and unless you could find some miners and peers still running the old software you won't be able to send or receive bitcoins until you switch to the new software.
That is not entirely accurate, classic for instance will activate at seventy five percent of the hashrate. The client you run reflects your position on several issues regarding the future of Bitcoin. I would recommend running Bitcoin Unlimited since it will follow the longest chain automatically, or in other words, it will automatically follow the mining majority, so you will be on the longest chain regardless of what happens.
Regardless of what client you choose to use the node will deal with the situation without human intervention, based on the rules in its code, during the time of the fork. If you support scaling Bitcoin directly I would also recommend running Bitcoin Classic.
https://bitcoinclassic.com/http://www.bitcoinunlimited.info/