I found another issue. Task can be moved to other task as child even if "preventDefault" method is called in "moveStart" event handler.
Link with the example.
Task with name "First task" can not be moved in graphical part of the Gantt (and message is logged to browser console), but it can be moved in grid part of the Gantt to other task as child. What event(s) is (are) fired when user moves task in grid part of the Gantt and how to prevent such type of task moving?