diff -urpN drupal/modules/block/block.admin.inc drupal-6.x-dev-clean_query-0.2/modules/block/block.admin.inc
--- drupal/modules/block/block.admin.inc	2007-09-01 13:31:09.000000000 +0800
+++ drupal-6.x-dev-clean_query-0.2/modules/block/block.admin.inc	2007-09-15 01:47:53.000000000 +0800
@@ -293,7 +293,7 @@ function block_box_delete(&$form_state, 
  */
 function block_box_delete_submit($form, &$form_state) {
   db_query('DELETE FROM {boxes} WHERE bid = %d', $form_state['values']['bid']);
-  db_query("DELETE FROM {blocks} WHERE module = 'block' AND delta = %d", $form_state['values']['bid']);
+  db_query("DELETE FROM {blocks} WHERE module = '%s' AND delta = %d", 'block', $form_state['values']['bid']);
   drupal_set_message(t('The block %name has been removed.', array('%name' => $form_state['values']['info'])));
   cache_clear_all();
   $form_state['redirect'] = 'admin/build/block';
diff -urpN drupal/modules/block/block.module drupal-6.x-dev-clean_query-0.2/modules/block/block.module
--- drupal/modules/block/block.module	2007-09-01 13:31:09.000000000 +0800
+++ drupal-6.x-dev-clean_query-0.2/modules/block/block.module	2007-09-15 01:50:27.000000000 +0800
@@ -274,7 +274,7 @@ function _block_rehash() {
 }
 
 function block_box_get($bid) {
-  return db_fetch_array(db_query("SELECT bx.*, bl.title FROM {boxes} bx INNER JOIN {blocks} bl ON bx.bid = bl.delta WHERE bl.module = 'block' AND bx.bid = %d", $bid));
+  return db_fetch_array(db_query("SELECT bx.*, bl.title FROM {boxes} bx INNER JOIN {blocks} bl ON bx.bid = bl.delta WHERE bl.module = '%s' AND bx.bid = %d", 'block', $bid));
 }
 
 /**
@@ -332,7 +332,7 @@ function block_user($type, $edit, &$user
   switch ($type) {
     case 'form':
       if ($category == 'account') {
-        $result = db_query("SELECT DISTINCT b.* FROM {blocks} b LEFT JOIN {blocks_roles} r ON b.module = r.module AND b.delta = r.delta WHERE b.status = 1 AND b.custom != 0 AND (r.rid IN (%s) OR r.rid IS NULL) ORDER BY b.weight, b.module", implode(',', array_keys($user->roles)));
+        $result = db_query("SELECT DISTINCT b.* FROM {blocks} b LEFT JOIN {blocks_roles} r ON b.module = r.module AND b.delta = r.delta WHERE b.status = %d AND b.custom != %d AND (r.rid IN (%s) OR r.rid IS NULL) ORDER BY b.weight, b.module", 1, 0, implode(',', array_keys($user->roles)));
         $form['block'] = array('#type' => 'fieldset', '#title' => t('Block configuration'), '#weight' => 3, '#collapsible' => TRUE, '#tree' => TRUE);
         while ($block = db_fetch_object($result)) {
           $data = module_invoke($block->module, 'block', 'list');
@@ -379,7 +379,7 @@ function block_list($region) {
   static $blocks = array();
 
   if (!count($blocks)) {
-    $result = db_query(db_rewrite_sql("SELECT DISTINCT b.* FROM {blocks} b LEFT JOIN {blocks_roles} r ON b.module = r.module AND b.delta = r.delta WHERE b.theme = '%s' AND b.status = 1 AND (r.rid IN (%s) OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module", 'b', 'bid'), $theme_key, implode(',', array_keys($user->roles)));
+    $result = db_query(db_rewrite_sql("SELECT DISTINCT b.* FROM {blocks} b LEFT JOIN {blocks_roles} r ON b.module = r.module AND b.delta = r.delta WHERE b.theme = '%s' AND b.status = %d AND (r.rid IN (%s) OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module", 'b', 'bid'), $theme_key, 1, implode(',', array_keys($user->roles)));
     while ($block = db_fetch_object($result)) {
       if (!isset($blocks[$block->region])) {
         $blocks[$block->region] = array();
