Setting the MX TTL higher is unlikely to help in a situation like this. The TTL on a DNS record is just the maximum time that another DNS server may continue using it before checking back for an update — it only applies to servers that have previously looked up that record, and it does not require that the record actually be kept around for that amount of time. In situations like the one described, where the remote mail server may only be communicating with your domain occasionally, there is no guarantee that the old DNS record will even be in their cache at all, nor that it will actually persist as long as you request (particularly if it's infrequently used!).
We strongly recommend that DreamHost customers enable multifactor authentication to prevent account hijacking. It protects against a much wider range of attacks than this, and is very easy to set up.