Using your current formula as a basis, this seems to give the results you want:
Code:
=IF(DATEDIF(MAX(A4,$D$2),B4,"m")=0,"",
DATEDIF(MAX(A4,$D$2),B4,"m"))+
CEILING(DATEDIF(MAX(A4,$D$2),B4,"md")/30,0.5)&""
Where D2 has either of these formulae which calculate the 1st day of the next month from today's date:
Code:
=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)
or
=EOMONTH(TODAY(),0)+1