I wouldn't use an input mask but validate the input in the Before Update event of the control and then let the user know if it is wrong, and why, and let them try again...
If input masks were a bit better I would agree with you completely. I just find them difficult and not very 'user friendly' so I use the same system that you are using now... A bit more work for you, but a better product for the user, in my opinion...