With most standard coolant mixes you should flush every 6-months. You can stretch it further depending on additives and the state of your coolant. As far as cleaning things like blocks, that also depends on additives and what sort of blocks you're using to a lesser degree. For instance, jet impingement blocks require regular cleaning from what I understand.