I delete the box. It has been removed from "box" table as expected:

public function delete() {
    self::reset();
    unset(self::$boxes[$this->delta]);
    db_delete('box')
      ->condition('delta', $this->delta)
      ->execute();
    module_exists('context') ? context_invalidate_cache() : NULL;
  }

BUT. It wasn't removed from "block" table. And I still can load it's settings using block_load("boxes", );

For me it is really bad because I'm creating boxes programmatically and expect them to have certain machine_names. However if previously created box wasn't removed from "block" table it's machine_name cannot be used anymore.

Comments

ashelkov created an issue.