This error occurs if the user creates the custom field with "Searchable" = false, and then toggles "Searchable" to true. We don't create the index on the update civicrm_custom_field.is_searchable - and the delete code is expectiing an index to drop.
We should attempt to create an index if is_searchable is togged from false to true. If the index already exists, we'll get a key exists warning which we can ignore.
The workaround for this error is to toggle Searchable back to false - and then retry the delete field.