Make sure that the data loaded into control always matches the mask (in position and length).
A Masked Edit control should never have the initial value set to a null string ("") !
The control should always have the exact number of characters in it as the mask does at all times, otherwise it messes up the control.
So rather than:
EZ_Text %FORM1_BIRTH, 22, 12.25, 11.75, 1.75, "", "EFT{99-99-9999}"
You should have something like:
EZ_Text %FORM1_BIRTH, 22, 12.25, 11.75, 1.75, "01-01-2000", "EFT{99-99-9999}"
There has to be a default value in the control.