DATEDIF() can't handle an end date earlier than the start date, so I think you would have to arrange the formula like this:
Code:
=IF(B2<TODAY(),"- ","")&
DATEDIF(MIN(B2,TODAY()),MAX(B2,TODAY()),"m")&" months "&
DATEDIF(MIN(B2,TODAY()),MAX(B2,TODAY()),"md")&" days"