Holas, maxi9308.
 
Tal vez si usas alias en las tablas, ya que estás consultando la misma, con 2 objetivos distintos. Te faltaría cruzar el mes, como dices, prueba con lo que te escribo acá, a veri si resulta:    
Código sql:
Ver original- SELECT MONTH(FechaPrest)AS mes,CodPel,COUNT(CodPel) AS alquileres 
- FROM Prestamo P1 
- GROUP BY MONTH(FechaPrest),CodPel 
- HAVING COUNT (CodPel)=( 
-     SELECT MAX(t.alq) AS maximo 
-     FROM 
-     ( 
-         SELECT MONTH(FechaPrest) AS mes,CodPel,COUNT(CodPel) AS alq 
-         FROM Prestamo 
-         GROUP BY MONTH(FechaPrest),CodPel 
-     ) t 
-     WHERE t.mes = MONTH(P1.FechaPrest) 
- ) 
Saludos!