Was thinking about this and tried some code, so far dead end. Take the plat on E1M2 as example. When it rises, it ought to make a noise when its exiting the water, then again when it enters.
Apparently the QC creates a trigger field covering the plats max and min travel. A plat is always a model it seems generated from the map.bsp itself, and therefore its not a dynamic entity we can manipulate by checking its pointcontents at its self.origin to trigger a noise.
I suppose the only way would be to physicly map out the coordinates the trigger's box is in the water , and not - then scan the position of the moving plat and if its in that area , trigger the noise. Cant see any other way....