creo que eso pasa porque en la página actualizar.php tienes un insert antes del update. Borra esto:
    
Código PHP:
Ver original- if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {  
-   $insertSQL = sprintf("INSERT INTO contingut (titol, text, categoria, `data`) VALUES (%s, %s, %s, %s)",  
-                        GetSQLValueString($_POST['titol'], "text"),  
-                        GetSQLValueString($_POST['text'], "text"),  
-                        GetSQLValueString($_POST['categoria'], "text"),  
-                        GetSQLValueString($_POST['data'], "date"));  
-   
-   
-   $insertGoTo = "correcte.php";  
-   if (isset($_SERVER['QUERY_STRING'])) {  
-     $insertGoTo .= (strpos($insertGoTo, '?'))-  ?  "&" : "?";
 
-     $insertGoTo .= $_SERVER['QUERY_STRING'];  
-   }  
- } 
O borra el insert usando el panel de "server Behavior". 
También necesitas hacer un hidden field que contenga la variable que recibes. En la parte:    
Código HTML:
Ver original- <input name="hiddenField" type="hidden" id="hiddenField" value="<?php echo $colname_modifica_contingut ?>- " /> 
 
-   <input type="hidden" name="MM_insert" value="form1"> 
cámbialo por esto:    
Código PHP:
Ver original- <input name="hiddenField" type="hidden" id="hiddenField" value="<?php echo $colname_modifica_contingut ?>" /> 
-   <input type="hidden" name="MM_update" value="form1"> 
Creo que esto arreglaría esta página, aunque mi recomendación es que hagas está página de nuevo sin el Insert desde el principio.