Ok so I'm dumb. Although to be fair to me it was a single character wrong! (gl:depth-test :equal) != (gl:depth-test :lequal).
I'm guessing that my code (with the :equal) would only have displayed overlapping objects if their depth was equal. That sounds very silly to me!
On with the examples ...
Cheers, Charlie