That could be solved by only sea water doing it, by which I specifically mean water connected to a big area of sea - all springs, small lakes, and other water would not be sea water, and using a bucket on sea water would result in non-sea water.
So, Jon's aqueduct stuff would still work, but without flooding caverns (except coastal caves, which would be good).
Might still cause some issues with leaks, but that just makes the game a bit more exciting - you have to pay attention and fix things quickly to avoid the damage.
There's two main types of water - "water source" and "flowing water".
All water must start from (one or more) water source blocks.
If you use a bucket on the top of the waterfall, you remove the water source then the whole waterfalls disappears.
On a flat surface, flowing water goes for upto X blocks (10? 15?) from the nearest source.
When on a slope, it is falling water, which has no vertical limit - it'll keep falling until it hits the floor - and then acts as a source where it lands (i.e. X block spread), but it is still flowing and can't be collected in a bucket.
In a 2x2 hole, if you place a water source in one corner, it produces three flowing water blocks. If you place a second water source, diagonally adjacent/opposite, then it will convert all four blocks to water sources - you can then remove any four blocks with a bucket and they get re-populated.
My thought above was for splitting "water source" into "sea water source" and "limited water source".
Limited acting as a current water source does now. Sea water source removing (or increasing) the X block limit.
No. Water should be just water, when I'm digging underground and hit water I don't want to stand around going "I wonder what kind of water this is, let's wait and see". Stop trying to make things real Peter.
Not really! Obviously there is a reason for all that TNT. It's to umm... create a... thing. A marvellous thing that shall become splendiferously apparent when it has been created.