The 2nd optional Shift parameter of the DoKeyboardCommand method expect other values. Here is the description of the Shift parameter from the help file:
An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event. The Shift argument is a bit field with the least-significant bits corresponding to the SHIFT key (bit 0), the CTRL key (bit 1), and the ALT key (bit 2). These bits correspond to the values 1, 2, and 4, respectively. Some, all, or none of the bits can be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of Shift is 6.
vbKeyControl = 17 and vbKeyShift = 16, so these are not the right constants to use in the Shift parameter. If you were developing in VB6, you would use vbCtrlMask (2) and vbShiftMask (1) respectively.
However, you are right. There is a problem with the Shift parameter set to 3 in the current official version of iGrid (though 2, or vbCtrlMask without vbShiftMask works). I have just fixed this problem in an interim build of iGrid and sent it to you to check.