My main issue with class D is that it *appears* to be treated differently depending on which bit of class D you are talking about. It is fairly rare to get a transit refused by Lyneham, and equally rare to get one approved by Manchester. Solent and Stansted can be variable and Birmingham have even NOTAMed the fact that it is unlikely.
Some class D seems to be treated like class A, with the Heathrow TMA treated almost as if it were class C (Which is a good thing IMHO)
I'd guess (Or hope) that it is down to controller workload, but perhaps in some areas it becomes a habit?
Ian