UPDATE (2007-01-06) - I've submitted a bug report and patch for Asterisk - you can see the bug report here.
I've been going over the source code to Asterisk a lot tonight, and the more I look at it, the more I think that the reason why it doesn't work "out of the box" with Tesco is because the Asterisk implementation of IAX is slightly incorrect (at least, when compared with the latest internet draft). The draft states that the default refresh value is 60, but the function that appears to handle the REGACK message (iax2_ack_registry), defaults refresh to 0. So maybe Tesco aren't actually sending a value of 0 - they might not be sending any value at all (as it is optional), and I think (although it is after 4 in the morning), that if the server doesn't send anything, it being defaulted to 0 and not 60.
When I'm more refreshed, I'll look into this further.