Si ya estas calculando la cantidad de dias desde la diferencia normal de mktime y solo te han pedido rellenar o eliminar dias en caso de ser menor o mayor respectivamente, lo que puedes hacer es exactamente eso.
Por ejemplo la funcion date() con el parametro t te da la cantidad de dias de un mes.
Si por ejemplo:
16/02/04 31/05/04 = 105 dias
02 = 29 = +1 //le sumamos uno para completar 30
03 = 31 = -1 //le restamos uno y quedamos con 0
04 = 30 = 0 //sigue con 0
05 = 31 = +1 //le sumamos uno
total = 1
105+1 = 106 (que es el resultado que necesitas)
No se si lo ves como yo, pero me parece una buena solucion.
Saludos!