When in doubt, cheat! Why not something like:
SELECT x, y FROM organ_pipes WHERE point(x,y) <@ box(point(?x1,?y1),point(?x2,?y2)) ;
This is definitely a different approach from the others that I've seen.
Basically, think of your channel / piston as a point in a Cartesian plane. And your boundaries as a box in that graph. So you see if the "point" is inside the "box"