Pojedyncze cudzysłowy (' ) w SQL oznaczają literały ciągów. Więc 'hiredate' nie jest hiredate kolumna, to tylko varchar, który oczywiście nie pasuje do określonego formatu daty. Po prostu upuść cytaty i wszystko powinno być w porządku:
SELECT hiredate
FROM admin_emp
WHERE TO_DATE(hiredate,'yyyy-mm-dd') >= -- No quotes
TO_DATE('2012-05-12','yyyy-mm-dd');