sydchris said..
I use the acid available from Bunnings - it is sold as concrete cleaner, costs less than $20 for five litres. Dilute it slightly with water; I use about 2:1 so I get a 10 litre bucketful.. Get the engine good and hot by running it for a while, then stop it, disconnect the water intake, stick it into the bucket of acid and run the engine just long enough to suck it all in. Then stop the engine and leave it for an hour or so - you'll hear it bubbling away. Then reconnect the water intake, start the engine and rev it hard to flush it out.
For extra effect remove the thermostat(s) before doing this to ensure the bypass isn't used.
It is amazing how much this increases the water flow on a raw water cooled engine.
+1 for this. I used the same stuff on an old Yanmar. I left it in there for a few hours tho.