Su xml de muestra no tiene Pages nodo. Esto significa que cuando el FROM se calcula la cláusula, se forma una unión cruzada entre una lista de cero filas y una lista de una fila. El producto resultante no tiene filas, por lo que no hay nada SELECT ed, así que nada es INSERT ed.
Si realmente desea insertar una fila en BookDetails para cada booksdetail nodo en el xml entrante, debe hacer algo como
SELECT
ParamValues.PL.value('Pages[1]','int'),
CAST(ParamValues.PLr.value('Description[1]','varchar(max)') AS text)
FROM
@xml.nodes('/booksdetail') as ParamValues(PL)
Es decir, triture el xml entrante en booksdetail nodos y extraiga cada uno de los .value s desea de estas filas.