The remove method of the widget is intended to be used only for removing the top level tools. It will not work for removing menu button of a SplitButton.
Your workaround is valid but you should also remove the corresponding button from the overflow popup as well (unless you have resizable: false). Elements located in the overflow popup receive the same ID but with "_overflow" suffix. In addition there is no need to call the off method. There are no events attached to the menu button element itself, events are attached at higher DOM level. You may simply call the remove method for the parent "li" element, the jQuery remove method will also clear the jQuery data associated with the elements.
We will also discuss the idea for introducing API for removing SplitButton sub items.
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI