I haven't used DelphiX in a long time but DirectInput ususally doesn't work with screen coordinates but instead it will give you information about the mouse movement. So that Y-coordinate could be a negative value if the mouse is moved to the left.

You can try putting this in your timer event:
MyCursorPosY := MyCursorPosY + DXInput1.Mouse.Y;
MyCursorPosX := MyCursorPosX + DXInput1.Mouse.X;
DXInput1.Mouse.Y := 0; (Provided that this is not a read-only property)
DXInput1.Mouse.X := 0; (Provided that this is not a read-only property)