On the black and white engine they use procedural texturing to get the blending in the landscape. See the lionhead diaries, there's a bit about it in there. Procedural texturing means (I gather) creating the textures up on the fly using maths rather than a texture map.
I've kind of come to the same problem as you (see my post in programming) but it seems to me there are about 4 ways I can think of to get this blending :
1) Use single textures that have cunningly been created to allow texture coords to merge landscape types (this is what I'm trying, despite much discouragement

)
2) Use hardware multi texturing if your 3d card supports it, via direct 3d, or I think there's an ARB extension to opengl for it.
(My card doesn't support it, but I know TNT's do)
3) Use alpha blending and make more than one pass to blend textures. This is possible, but may not be as efficient as true multi texture coz you do the 3d math twice.
4) Use procedural texturing.
Hope this helps. If any of you have got an answer to my question in programming, it would be cool (!)
------------------
Lead programmer, Steaming Turd Studios