Fully diminished seventh chords do often substitute for dominant sevenths, but not spelled from the same root.
You can think of a diminished seventh chord as a dominant b9 chord without its root:
C-E-G-Bb = C7
C-E-G-Bb-Db = C7b9
_-E-G-Bb-Db = Eº7
The progression the OP is asking about is mostly a lot of non-functional motion. Typical of modern chord progressions, the choice of chords is more based on voice-leading than any functional relationship between the chords themselves.
A minor can work as a rough tonal center. It starts on the iv chord (Dm7), the Bº7 (B-D-F-Ab) can be enharmonically reinterpreted as a G#º (G#-B-D-F) in first inversion (6/5), which can function as the leading tone chord of A. But the A#maj7 chord sort of intervenes as a passing sonority, prolonging the resolution from the º7 chord to the Am7. Then we get the Cº7 which doesn't have a clear functional relationship to the key. Assuming that the progression loops, the progression from Cº7 to Dm7 is what is known as a common tone resolution, or a non-dominant resolution of the º7 chord. In other words the chord C-Eb-Gb-Bbb shares two common tones with the chord D-F-A-C, with the Bbb enharmonically respelled as A. This resolution isn't that strong because there are two common tones. The strongest types of common tone resolutions of diminished seventh chords are when there is only one common tone and the other three chord tones move.
ian_halsall wrote:try and explain this:
why are major chords happy and minor chords unhappy?
Let me know
Completely off topic but I'll have a go.
In the strictest sense descriptions such as "happy" and "sad" are subjective and it's hard to really apply science to them. As beatmunga said, different cultures will describe different sounds using different terms, so there is definitely a cultural aspect to this problem. In other words major chords aren't happy, and minor chords aren't unhappy, at least not to everyone, so the entire question is based on a biased assumption.
That said, what yur2die4 said about the overtone series does get closer to the matter of why some intervals sound more dissonant to some people than others (it's still not universal), and measurement of dissonance seems to coincide with the kinds of "major=happy/minor=sad" descriptions that people in the West tend to give to certain sounds. The mostly has to do with the upper partials of complex tones and how they interfere with the upper partials of other sounding pitches. If two sounding tones have upper partials that are related by simple ratios such as those found in the lower harmonics of the overtone series then those two sounds will often be considered "concordant" by the listener. If the partials are related by more complex ratios then interference occurs which is often described as a "discord." This phenomena has been studied since at least the 19th century by the likes of Helmholtz so we know there is a pretty solid basis for this model of why some things sound consonant and others sound dissonant.
But when we try to put a qualitative meaning to these terms "consonant" and "dissonant" we lose the plot pretty quickly. Qualitative binaries such as "good/bad" and "happy/sad" are not necessarily imposed by the acoustic and psychoacoustic properties of the sounds themselves. They are descriptions that we as human put on them, and they are often influenced by culture and environment.