The IDE shouldn't crash by itself (it is extremely rare for the IDE to crash, it used to be less stable at the past but that was around 2006-2007 or so).
However packages (which includes your own widgets) are nothing more than native libraries that become part of the IDE, so any bugs in a package will cause the entire IDE to crash. This is a double edged sword since on one hand you can get a less stable IDE from your own bugs, but on the other hand when you work with a component or widget in the visual editors, you are really working with a "live" instance of that widget that is then serialized as part of the form or data module instead of a mock stand-in object that some other GUI-only designers will give you. Also this allows you to use any TComponent-derived object through a visual editor, not only visual/GUI objects.
I'm not sure if this is possible, AFAIK this is common in any development environment that allows you to work with live instances of your objects - i think even IDEs like Netbeans have the same issue with custom controls.