Yo que tu tendria mucho cuidado con la clausula 
- GROUP BY `campo` 
 sobretodo porque sabemos que al hacer 
-  SET `campo` =  
 estamos peticionando y asignando 1 solo valor, y GROUP BY retorna mas de 1 registro 

 (independientemente que hagas SUM(`campo`) previamente) por el GROUP BY sera la suma total de todos los registros distintos, por ende retorna mas de 1.
Otra cosita veo que haces:
- UPDATE    tbl_reporte_temporal 
-   
sin embargo al finalizar haces:
- WHERE     tbl_DcierreInventario.coditems = tbl_reporte_temporal.coditems 
-   
En que momento referenciaste o relacionaste con la tabla 
tbl_DcierreInventario  ????
La misma pregunta para:
- SELECT     SUM(tbl_DcierreInventario.Existencia_I) AS Existencia 
-                             FROM          tbl_reporte_temporal 
-                             WHERE      (tbl_DcierreInventario.CodAlmacen = '1') AND (tbl_DcierreInventario.fechacierre = '17/05/2010') 
-                             GROUP BY tbl_DcierreInventario.coditems 
-   
Me pierdo 

 no hay JOINS aca entonces como referencias campos de otras tablas 
 
 Sabes a lo que me refiero con lo anterior 

 lo que puedo pensar, que seguro te confundiste al postear la consulta SQL aqui, y realmente es otra 
