Looks like we could use a different form for casting the timestamp to a date with Postgres.
that is use:
SELECT CAST(your-timestamp-value AS date)
So the statement would become...
... my_cal = :param and CAST(my_tstamp1 as date) - CAST(my_tstamp2 as date) > 0
That should get around the issue of ::date being treated as a named parameter. Is that a good enough workaround?