Regarding the first thing I wrote about, it's the weirdest thing. If I pass the name of the .csd as an argument to Cabbage the form displays correctly, but only half of the XY pad gets displayed (as if the form was smaller than 800x600). So I save/update (without changing anything in the file) and the XY pad is now displayed correctly.
The code I am using is this:
form caption("form1"), size(800, 600)
xypad bounds(0,0, 800, 600), channel("varX", "varY"), identchannel("xyChannel"), rangex(0,1,1), rangey(0,1,1)