Nothing is changed in the wallet.dat when you receive or send transactions. The wallet.dat only holds your private keys and that's why you can keep it offline because it doesn't need to be synced. You only need to be synced if you want to know your balance.
simple:
wallet.dat <-- priv keys(access key to your bitcoin adresses)
blockchain <-- transaction history of everyone publicly available for anyone with a internet connection (looks same for everyone independent of the wallet.dat)
wallet.dat + blockchain -> balance can be calculated
The wallet.dat only changes if you add additional addresses to your wallet. It doesn't change if you receive btcs. It's pretty much like with bank account numbers. They also don't change if you receive money.
And that's why lightweight clients work because those 2 things are separated. The wallet.dat is very small and the blockchain is very big. But you only need the blockchain if you want to know your balance so why not keep the wallet.dat for yourself and use the blockchain of someone else? Remember the blockchain is the same for everyone. That's what electrum for example does. It keeps your wallet on your PC so your safe as long as your PC is safe and uses the blockchain of a server. If the server crashes you can also use another server or in 100 years if noone uses electrum anymore download your own blockchain.
Ahh, thanks - that makes sense. So then I can lock away a wallet.dat and not have to ever worry about opening it up to freshen up the wallet.dat unless that same wallet.dat has elsewhere had more addresses added to it. That's great news.
I will look into alternate clients.