I too have wondered why he ordered the charge. . . perhaps it was to buy time for the KGL Heavy Dragoons to come up. It is possible that he did not see the other two French brigades, however the land in the area of Majalahnoda is supposed to be flat, so I doubt it. I can not imagine him missing 1,000 cavalry.
I find it interesting that both forces deployed in line and with some part of their force in support -- D'Urban had
"the 11th Portuguese Dragoons in skirmishing line, deploying five more in line of battle (1st and 12th Regiments), and keeping one [the second squadron of the 11th Portuguese Dragoons] in reserve on his left flank to cover four horse artillery guns there placed"
"advanced in three lines, with each brigade forming one line. Colonel Reiset's Brigade (13th and 18th Dragoons) were in the front, followed by the 19th and 22nd Dragoons, with the Italians and the Westphalians forming the third line."
I do not think D'Urban was a hot head. Based on the evidence, one could assume that D'Urban may not have been the right person to command the advance guard.