It actually takes place in the event sheet view - and you are looking to "replace object" first before any deletion.
In conjunction with event search (Ribbon - Event view), you can find all instances of the use of the object in your event sheet, replace the object, than finally deleting it.
It's mostly a matter of organisation as well, you shouldn't be going around and having to delete objects all that often.
It cannot be an option to not delete the code lines, as otherwise it would mess with the current code completion, syntax detector and overall the way Construct 2 works.
But thats not how i work, i like to first delete everything and then replace it, thats how every programming language works too.
In many situations you are right that it doesnt make sense to keep the code, but in most places it does.
there should be a something like a short key CTRL+DEL that deletes the object but not the code and everyone would have then flexablity to choose
how he would like to delete his object.