I seems like it was only 24 words in the past, and now it's 25. Will it change again and how can I prepare for this, specifically if I have a cold wallet that isn't connected to Simplewallet?
There always exists the risk that the seed words will change. However, because the words correspond to a 256 bit integer which is itself the spend key, I believe as long as you're able to obtain the same version of simplewallet that you used to generate the key, you should be able to restore your wallet.
Additionally, it is possible to restore a wallet without the mnemonic if you have the private spend and view keys. So if you're worried about the mnemonic scheme changing, you should store the private spend and view keys as numbers will never change.
It could be changed, but there's really no strong reason to do it. However, as this is an open-source project, anyone could implement their own mnemonic "standard". If the user-base sees benefits from the change, it could become the new default.
Note that the seed itself is not part of the protocol, only the keys are. So, mnemonic->keys could be done in many ways. For example, mymonero.com web-wallet implements a different "standard", and uses a 13-word mnemonic by default (while also accepting 25-word mnemonic, generated by simplewallet).
To be future-proof, one could back-up the keys as well or back-up the word-list together with the algorithm used to generate the keys from the mnemonic. Easiest way to do this is to download the currently available website used to convert from mnemonic to keys, and keep your own copy of it.