La forma que usas elmasvital (o estás intentado) .. tampoco sevirá para tu propósito si no usas transacciones (más código SQL: COMMIT .. etc y algunos ajustes más sobre el tipo de tablas que usas).
A todo esto ..las funciones de mysql: mysql_query() de PHP .. no ejecutan más que UNA sóla sentencia SQL a la vez .. es decir .. en SQL tu puedes separar varias sentencias SQL por un ; .. pero la función mysql_query() sólo va a ejecutar la primera descartando el resto ..
Si quieres usar SQL .. tendrías que hacer mínimo:
Código PHP:
//datos incluidos en tabla albarán.
$sql= "INSERT INTO albaran (cod_albaran,cod_aparato,fecha,cod_cliente) VALUES (";
$sql.= " '', ";
$sql.= "'".$this->aparato->cod_aparato."',";
$sql.= "'". ("d,m,y") ."',"; // NO GUARDES FECHAS con tu própio formato .. usa campos de FECHA!!!! tipo DATE .. luego si quieres los formateas con DATE_FORMAT a la hora de presentarlos!!!.
$sql.= "'".$this->cliente->cod_cliente."')";
$resultado=mysql_query($sql);
//el select last_insert_id devuelve el último autonumérico.
$sql_id .= "SELECT LAST_INSERT_ID() FROM la_tabla_que_corresponda"; // <---- OJO!
$resultado_id=mysql_query($sql_id);
$id_ultimo=mysql_result($resultado_id);
echo "resultado=" . $resultado . "<br>"; // no puedes hacer esto .. te dirá algo como "resource ID n° tal" .. en tal caso pasalo por un "if()" pues se devuelve un true/false (boolean) ...
echo "El álbarán ha sido guardado con el identificador: ".$id_ultimo;
Lee los comentarios del código .. sobre todo sobre el tratamiento de fechas que haces (no me parece correcto .. sobre todo para cuando quieras empezar a operar con esas fechas (sacar informes de rango de fechas .. etc ..) .. Y la sentencia SQL del ....LAST_INSERT .... le faltó el "FROM de que tabla"...
Y lo dicho .. revisa el tema de transacciones en Mysql:
www.mysql-hispano.com
Un saludo,