The problem is that dual function takes a NUMBER as a second parameter while you are trying to give it a string.
You should decide what numerical value is suitable for your case.
For example I used MM-YY for text and first day of the month as number.
=Dual(Month(MyDate) & '-' & Date(MyDate, 'YY'),
MakeDate(Year(MyDate), Month(MyDate))) AS MonthYear