I've gone through the parse code and I don't see support for escape characters. However you can get around it by making the pattern bit ('mm/dd/yyyy hh24:mi:ss') into a positional or named parameter, because there's no recursion in parsing:
Code:
Iterator i = session.createSQLQuery("SELECT " +
" TO_CHAR (rcpt_date, :datetimePattern) received," +
" TO_CHAR (rlsd_date, :datetimePattern) released," +
" TO_CHAR (shpd_date, :datetimePattern) shipped" +
" FROM aTable" +
" WHERE documentNumber LIKE " + 'SOMETHINGOROTHER%'")
.setString("datetimePattern", "mm/dd/yyyy hh24:mi:ss")
.addScalar("RECEIVED", Hibernate.STRING)
.addScalar("RELEASED", Hibernate.STRING)
.addScalar("SHIPPED", Hibernate.STRING)
.list().iterator();