I've actually worked on two motorheads recently - a my brother's DC21 and an used DC23 which I purchased off of craigslist. Both units reported the same issue - motorhead would run for a short period of time (way under 5 minutes usually) and the time before it stops running seems to be random. Both units needed to rest for a while before the motorhead would run again.
My brother's DC21 was completely clean as he maintains his motorhead extremely well. After reading through many forums and other sources of internet information, there seems to be a consensus that a clean motorhead should not stall and if it does stall no one seems to know what's wrong.
I ran into this video on Youtube which shows the control board as well as maps out the wiring to the motorhead.
The video got me thinking. The board is located in basically an enclosed space and heat could be a problem as Dyson designed the board with a rather large copper surface in order to deal with the heat off of the FET. If the area got too warm, the board may have a microcontroller that will shut the entire thing down until the board cools back off hence the cool off time required.
So, the question is what gets the FET warm? Probably having to handle more current than normal. What causes more current to be handled by the FET? Hmmm.... The motorhead's motor will see current requirements increase as the motor gets closer to stalling with the highest current draw when the motor stalls. If the brushes are clean, then what could hinder the motor?
If I look at the setup of the brushbar, I saw that the brushbar relied on sleeve bearings in the two endcaps to hold everything up while it's running. If the bearings were dry of lubrication or dirty, the bearings will hinder the smooth operation of the bar. Looking at the movement of the brushbar in the bearing, the movement wasn't smooth as a bearing should be. So, I cleaned up the brushbar's pin and the sleeve bearing with some alcohol and applied a thin (less than a drop) layer of lubricating oil on each side. I tested the setup on some deep pile carpet and the motorhead initially stalled for a bit but didn't stop. I was able to completely vacuum the room with the motorhead without further stalling. The problem seems to have been solved.
Next, I purchased a DC23 where the previous owner reported that the motorhead was basically useless as it would stall all of the time and sometimes wouldn't even start (basically the same issue reported as my brother's DC21). Once I got the DC23's motorhead home, I looked at the brushbar and it was full of hair and a metal twist tie. Was that the problem? I didn't ask as I also cleaned and lubricated the pins and bearings. Success! The motorhead kept running and I vacuumed not only that room with the motorhead but the rest of the house as well and I had no issues. While I was testing the DC23, I decided to remove its motor and clean it out. It turns out that someone attempted to fix the motorhead previously as it was missing a few rubber gaskets under the plate. I removed the motor and lubricated the exposed bearing on the motor as well as dropped a few drops of lubricant in the gear assembly.
It's been a week now since I cleaned up the two motorheads and both are still running fine without any indication of stalling or stopping through thin and thick carpet.