Is this a good idea to hide the cursor, or maybe constrain its move to a vertical move, when the user has invoked a context menu? A context menu is basically unidimensional, so it makes sense to drop the horizontal component of the mouse location. I often see users struggle to reach a given submenu, because they dismiss the submenu they just activated if they hover an unrelated element of the initial menu.
No, users rely on the ability to click outside the menu to cancel it, and to click on the parent menu to cancel opening a submenu. You always need to provide users a consistent and easy-to-recognize way to cancel an action.
Submenus are known to be difficult to use, which is why GUI guidelines discourage their use. For example, MS Windows 7 User Experience Interaction Guidelines (p233) states you should "Avoid using submenus unnecessarily... [and] don’t put frequently used menu items in a submenu."
Context menus should only have frequently needed commands for the selected object. Thus, you should very rarely need to use a submenu on a context menu given it would have infrequently needed commands.
No, most user's are familiar with drop down menus and more than likely experienced a faulty menu or two when browsing the internet.
Making a clear and functioning drop down menu is the best solution - don't restrict the user, make the users options clear.