I have just installed the latest version (Dec 2012) of Barclay's ePDQ payment interface, you can get the updated Zen Cart payment module by asking the ePDQ support team. They provide it purely "as is" ie unsupported. It seems to have been developed for version 1.3.9 but works ok with v1.5.0, there are a few issues which might cause some headaches-

1. ePDQ expects the monetary amount to be charged to the credit/debit card without a decimal point (ie in pence). The Zen module does this by multiplying the total order amount by 100, which assumes there are no fractions of a penny. You may have fractions if your shipping is a percentage of the order total - the order confirmation pages automatically round up to display the amounts, but when the data is passed to ePDQ you'll see the message

"amount too long or not numeric" or "amount not a number"

because you have a decimal point in the amount. I added a round() function on the order total amount to fix this.

2. I don't know if its just my installation but if a customer has not provided a telephone number in their account the ePDQ module fails with the message:

"unknown order/1/s"

Something to do with the SHASIGN data check on the ePDQ side of things (telephone number is not marked as mandatory but it seems to be). I added some code to default the phone number to 0 if none has been supplied to fix this.

3. You will not get ePDQ to work if the URL calling it includes the ZENID parameter eg if using a shared SSL certificate (you will probably see error "unknown order/1/r"). EPDQ needs a consistent URL to call it.

Perhaps this info will help someone else.
Mick