Si en el where estamos diciendo "WHERE MyDATE_VARCHAR <> 'Sin emitir' " todos esos registros no los procesa el update que puse, por tanto, ese error no debe producirse. Prueba mi sql en un TIbquery y usa "ibquery1.ExecSql" en lugar de "ibquery1.Open".
En la condición WHERE no puedes poner ese cast, porque entonces SI procesa los registros 'Sin emitir', y obviamente da el error.
En las consultas, el Sistema Gestor, primero evalúa la condición where, para saber los registros que debe seleccionar, posteriormente, los selecciona y ejecuta la parte Select / Update / Insert etc. Como ves en mi parte where no se hace ningún moldeo de tipos.
Edito: No necesitas 2 consultas, en una sola (la que puse anteriormente) lo hace todo. Pruébala
Saludos