Holas Zarkiria
Retomando el primer código que pusiste para obtener el Nuevo ID:
Código PHP:
//obtener un nuevo valor
$sql = "select max(codlibro) from libro";
$lib = mysql_query($sql);
$rs_lib = mysql_fetch_assoc($lib);
$ide_lib_nuevo = $rs_lib['codlibro'] + 1; // AQUI ESTA MAL
$sql = "insert into libro values ($ide_lib_nuevo, 'nombre', blablablablablabla)";
mysql_query($sql);
El resultado de la consulta "select max(codlibro)..." no llega como "codlibro", pues usaste la función MAX() de sql. Te sugiero hacer algo como esto:
Código PHP:
//obtener un nuevo valor
$sql = "select max(codlibro) as ultimo_codlibro from libro"; // das otro nombre al campo resultado
$lib = mysql_query($sql);
$rs_lib = mysql_fetch_assoc($lib);
$ide_lib_nuevo = $rs_lib['ultimo_codlibro'] + 1;
$sql = "insert into libro values ($ide_lib_nuevo, 'nombre', blablablablablabla)";
mysql_query($sql);