Yes, it would surely depend both on the user and attacker. The assumption here is that an attacker will sit and wait for a big transaction, even if that means ignoring 100 or 1000 transactions before it. With non-HD there's at least a limit to how much into the future the risk exists.
I do wonder if a default keypool of 1000 (in non-HD) is a good or bad thing for most users. Or if HD is a good thing.
Good points. I've seen several people question if HD wallet is adds vulnerability or not. Looks like the very early format had a keypool of 100, then of 1000, and then finally HD.
From what I've read, "dumpwallet" will indeed dump your HD seed on the console, so if a hacker gets that.. it's over. Your wallet is compromised forever.
The solution may be to just buy a laptop, airgap it (get rid of all potential communication devices), install linux on it, and then create a brand new wallet.dat there, and use it as cold storage. Then in another laptop, use another install of Bitcoin Core for watch only addresses. This is my plan and what im learning to do. Im going to practice with testnet coins, since if you don't know exactly what you are doing with rawtransactions, you may send an huge fee for example. So I want to be sure first, and do with testnet coins with 2 computers, once I have this figured out, I will transition to airgap setup. It is the best in my opinion. It's the only way to be sure that your private keys never see the internet, and you can still continue using Bitcoin Core software. I just wish devs added GUI support for this. I think Armory got this, but I want to keep using Core, I don't want to learn some brand new software, and I don't trust anything but Core software to be honest..