@j0hn,
I tried swapping the hardware between lines, yes, and that made no difference.
@burakkucat,
Thank you very much for doing that. I would run dslstats, but as I only have a Mac and headless Linux boxes, it's not convenient. I've started logging the stats myself into an SQL database, but haven't yet written any UI to display/graph them.
I have to admit to not understanding the graphs (more reading needed), but I guess that if the cause is crosstalk, then that means there's nothing I can do about it?