Thanks for pointing out these bugs.
Do you have the Zexy library installed? There's a [zl rev] object in the main window that might be giving you trouble. Otherwise, it might be that the [iemguts] object, which receives all information sent to the canvas, gives a different output on windows than it does in Linux (my OS). To test this, make the following patch:
Press the control and shift buttons and see what you get. I get:
key 1 Control_L 0 = left control button pressed
key 0 Control_L 0 = left control button depressed
key 1 Shift_L 0 = left shift button pressed
key 0 Shift_L 1 = left shift button depressed
and correspondingly with the right buttons.
If you get a different message, you'll have to adjust the code accordingly. This is set in the route object in the main window, which looks like this:
[route Control_L Control_R Shift_R Shift_L]
The objects above it, including the aforementioned [zl rev], might also need altering.
I can't think what your CTRL problem is, especially because this is the simplest move function out of the three. Could it also a problem with the CTRL button being read differently by [iemguts]? This function is in the [pd mover3] subpatch, if you want to take a look.
As for your first problem, that the bars change when the object moves, I have noticed this also recently, but only under certain circumstances. For me it only happens when I switch to a different Ubuntu workspace, and then try to move the xysl canvas. I also find that scrolling the slider once resets this, so that I can move it normally again. Does it work like that for you, or do you get this problem every time you try to move the object?