Multiple textures on a surface - transparency problems
Ah silly me, this node setup actually gives the correct results. The problem was that I had another material slot on the same surface which had an older incorrect transparency node setup (which was causing these problems)... 

Here's a render with the above node setup showing no transparency issues!