You would have to set the .isWaterBrick to false on every single modter datablock, which still comes with problems of it's own. Every modter brick is counted as a cuboid in terms of the brick grid. So even if you had a ramp brick, you couldn't build on the ramp part itself, you could however, build 'floating' bricks atop of the grid aspect of the brick.
Here's some quick stuffty code to do this:
function modterSetWater(%w)
{
$Pref::Server::modterSolidState = !%w;
if(isObject(brick32Cube5Data))
{
%y=brick32Cube5Data.getID()+133;
for(%x=brick32Cube5Data.getID();%x<%y;%x++)
%x.isWaterBrick=%w;
}
if(isObject(brick32Ramp5InvData))
{
%y=brick32Ramp5InvData.getID()+95;
for(%x=brick32Ramp5InvData.getID();%x<%y;%x++)
%x.isWaterBrick=%w;
}
}
function serverCmdModterSetWater(%c,%w)
{
if(%c.isSuperAdmin)
{
if(%w)
messageClient(%c,'',"Modter is now 'water'.");
else
messageClient(%c,'',"Modter is now 'solid'.");
modterSetWater(%w);
}
}
if($Pref::Server::modterSolidState)
schedule(0,0,modterSetWater,0);
Completely untested, terrible code.
/modterSetWater 0