I have played around with this and I can't get it to work properly.
As far as I can see, the idea is to import the background three times, then use a) FakeScreen.Enable(2, 1, 199), which basically creates a screenshot and draws it to background frame 1, and b) Underwater.Enable(), which takes background frame 1 and draws a distorted copy to background frame 0.
It does work, kind of, but I get artifacts and the distortion looks odd, as if it's not properly reset each frame. It doesn't look as clean as in the demo.
Edit: actually, it does.
Ok, here's what I did:
-I imported the same background three times, adding two background frames to the default one.
-I drew a walkbehind covering the screen, setting its baseline to 199
-I put this in room_AfterFadein:
FakeScreen.Enable(2, 1, 199);
Note that the FakeScreen module should be above the UnderWater one in the project tree, so that FakeScreen's repeatedly_execute is called first.