Ya lo he solucionado,o al menos en parte.
La consulta de por si estaba mal, en la parte del where, acá está corregida:
Código PHP:
function modIdCourse(){
$query = "SELECT mc.id FROM mdl_course mc";
$res = mysql_query($query);
if ($res == false){
echo "Error en la consulta de Cursos Moodle.<br/>";
}else{
while ($row = mysql_fetch_array($res)){
$id = $row[0];
echo "id: $id / ";
$idnum = "'"."C".$id."'";
echo "idnumber: $idnum";
$query = "UPDATE mdl_course SET idnumber = $idnum WHERE id = $id";
$res = mysql_query($query);
if ($res == false){
echo "Error en la actualizacion.<br/>";
}else{
echo "Curso $id actualizado. <br/>";
}
}
}
}
Aún así, solo modifica el primer registro y no todos.
Edito: Logré solucionarlo. Era pura y exclusivamente culpa de mi despiste. Estaba usando la variable $res tanto para el row de los id, como para la consulta del update. Así jamás iba a andar :D