Try

select count(*) from (select * from emp where IS_DATE(BIRTHDATE)=0)
where
to_date(birthdate,'mmddyyyy')>=to_date('01-JAN-90', 'DD-MON-YYYY')

you must use to_date function, 01-JAN-90 is a varchar2 and you are comparing date with varchar, incorrect

if it still fails you may have some rubbish data

thanks